FairStream
收藏资源简介:
FairStream是一个用于强化学习代理的多媒体流媒体基准数据集,由达姆施塔特工业大学多媒体通信实验室创建。该数据集旨在模拟真实世界中的多媒体流媒体环境,包含部分可观测性、多目标优化、代理异质性和异步性等挑战。数据集内容包括多个异构客户端在共享瓶颈链路上的流媒体行为,每个客户端根据局部观测选择下一个片段的质量级别。数据集的创建过程基于动态自适应流媒体(DASH)模型,通过模拟不同网络条件下的流媒体行为来生成数据。该数据集主要应用于强化学习领域,旨在解决多媒体流媒体中的公平性和质量优化问题。
FairStream is a multimedia streaming benchmark dataset for reinforcement learning agents, developed by the Multimedia Communications Lab at Technische Universität Darmstadt. This dataset is designed to simulate real-world multimedia streaming environments, covering core challenges including partial observability, multi-objective optimization, agent heterogeneity and asynchronicity. It encompasses the streaming behaviors of multiple heterogeneous clients transmitting over a shared bottleneck link, where each client selects the quality level of the next segment based on its local observations. The construction of this dataset is grounded in the Dynamic Adaptive Streaming over HTTP (DASH) model, generating data by simulating streaming behaviors under various network conditions. This dataset is primarily applied in the reinforcement learning field, aiming to address fairness and quality optimization problems in multimedia streaming scenarios.
FairStream: Fair Multimedia Streaming Environment
概述
FairStream 是一个异步多智能体环境,兼容 RLlib 2.10。在该环境中,智能体代表异构客户端,通过共享连接流式传输按需多媒体内容。目标是在给定时间变化的带宽下,联合优化每个客户端的体验质量和所有客户端的公平性。客户端基于分段控制其流比特率,使用部分观察和异构需求,导致每个客户端的奖励函数不同。
安装
- 推荐使用 pip 安装,建议创建新的 Python 环境。
- 依赖项列在
pyproject.toml中。 - 环境需要运行轨迹,可以单独定义或下载(见网络轨迹部分)。
入门指南
- 通过运行
python src/example.py确认安装成功。 - 该命令将在环境中运行随机智能体,并打印每一步的状态信息。
网络轨迹
- 从 FCC Raw Data Releases 提取轨迹,包括 2022 年和 2023 年的数据。
- 使用
python src/traces/cook.py生成轨迹数据集和相关图表。 - 数据集保存在
./cooked_traces,图表保存在./plots_traces。 - 轨迹数据集分为训练、验证和测试数据集。
训练与评估
- 使用
src/main.py进行训练和评估。 - 提供多种训练和评估选项,可通过 CLI 调整。
- 提供自定义评估函数,允许跟踪每个智能体的多种指标。
- 使用自定义评估时,建议设置
export TUNE_DISABLE_AUTO_CALLBACK_LOGGERS=1以防止生成非常大的结果文件。
分析与图表
- 使用 TensorBoard 监控训练过程。
- 提供各种脚本创建结果图表,包括论文中使用的图表。




