ray.rllib 入门实践-3: 配置参数列表

RLlib一:RLlib入门 强化学习库,RLlib入门 阅读详情

前言:

        上一个博客详细介绍了配置rllib算法的几种方式,并推荐了用 AlgorithmConfig 类去创建配置对象,然后再配置对象中,根据代码提示配置相关参数。AlgorithmConfig 中的可配置参数有很多, 使用时可以去对应的源码查看有哪些配置选项,

        本博客对配置选项做了一些梳理。并对其中最常用的一些成员变量以黄色高亮显示。

        本问主要来自源码解读。

环境配置:

        torch==2.5.1

        ray==2.10.0

        ray[rllib]==2.10.0

        ray[tune]==2.10.0

        ray[serve]==2.10.0

        numpy==1.23.0

        python==3.9.18

一、 AlgorithmConfig 子模块分组 

        RLlib 中有非常多的配置, 为了便于管理, 把所有配置划分为以下几组:

  • training: 训练相关参数组
  • environment: 环境相关参数组
  • deep learning framework: 深度学习的相关框架选择, tf2 或者 torch
  • rollout worker : 部署工作选项
  • evaluation : 评估相关超参数
  • exploration: 探索选项
  • options for training with offline data: 使用离线数据进行训练的选项
  • options for training multiple agents : 多智能体训练的相关设置
  • reporting 报告选项
  • options for saving and restoring checkpoints : 保存和回复检查点的选项
  • debugging : debug 相关选项
  • options for adding callbacks to algorithms, 添加算法回调的相关选项
  • resources : 计算资源使用设置选项
  • options for external features : 实验功能选项

二、 几个重要子模块的详细介绍

1. AlgorithmConfig.training() 

        AlgorithmConfig.training() 里面有许多可配置参数, 具体如下:

  • gamma: float, markov 决策过程的折扣因子, 奖励值的折扣因子。
  • lr : 学习率
  • grad_clip : 是否使用梯度裁剪。 根据grad_clip_by的设置裁剪梯度。
  • grad_clip_by : 如果grad_clip不是None, 基于这个参数裁剪梯度。
  • train_batch_size: 训练批量大小
  • model: 传递到策略模型的参数。也可以通过成员变量的方式访问。
  • optimizer: 传递给策略模型的参数。
  • max_requests_in_fighter_per_sample_worker : 对每个采样进程的最大请求数。
  • Returns:  返回更新的AlgorithmConfig对象。

2. AlgorithmConfig.environment()

        用于设置环境

  • env: 环境说明符
  • env_config: dict, 传递给env, 默认附加参数:num_rollout_workers, worker_index, vector_index, remote
  • Observation_space : 观测空间
  • action_space : 策略的动作空间
  • env_task_fn : 一个可调用函数,将最后一个训练结果、基本环境和环境上下文作为参数, 返回一个新任务来设置环境。
  • render_env : 是否渲染环境, 如果True, 尝试在本地工作线程或worker1上渲染环境。
  • clip_rewards: 是否在policy的后处理期间, 裁剪奖励。
  • normalize_actions: 是否把产生的动作归一化到动作空间范围内。
  • clip_actions: 应该被弃用
  • disable_env_checking: if true, 禁用环境预检查模块。
  • is_atari : 用于显示指定环境是否为atrai环境。
  • auto_wrap_old_gym_envs : 是否自动包装旧gym环境。
  • Return : 返回更新的AlgorithmConfig对象。

3. AlgorithmConfig.framework()

  • framework: {"torch", "tf2} 选择框架
  • eager_tracing: 在 eager模式下启用跟踪, 提升性能,但稍微不利于调试。
  • eager_max_retraces:
  • tf_session_args: 默认情况下把tf设置为单进程操作。
  • torch_compile_learner: 如果为True,则编译学习器上的TorchRLModule上的FORWARD_TRAIN方法。如果未指定,则默认为在学习者上编译前向训练。
  • torch_compile_learner_what_to_compile – TorchCompileWhatToCompile 模式指定如果 torch_compile_learner 为 True 则在学习器端编译什么。有关其使用的详细信息和建议,请参阅 TorchCompileWhatToCompile。
  • torch_compile_learner_dynamo_backend-torch 计算器模式使用的学习者。
  • torch_compile_worker – 如果为 True,则编译工作人员上 TorchRLModule 的前向探索和推理方法。如果未指定,默认情况下不会在工作线程上编译前向方法,因为回溯可能会很昂贵。
  • torch_compile_worker_dynamo_backend – 用于工作人员的 torch 计算器后端。
  • torch_compile_worker_dynamo_mode – 用于工作人员的 torch 计算器模式。
  • Returns - 返回此更新的 AlgorithmConfig 对象

4. AlgorithmConfig.rollouts()  

       用于指定rollout_worker

  • env_runner_cls : 用于环境部署的envRunner类
  • num_rollout_worker : 为并行采样创建的rollout-worker的数量, 为 0 则强制在本地工作线程,
  • num_env_per_worker : 每个进程上运行环境的个数
  • sample_collector : SampleCollector 类, 用于收集和检索环、 模型和采样数据。 重写 SampleCollector  基类可以实现自己的收集、缓冲、检索逻辑。
  • sample_async : 使用后台线程进行采样, 通常不建议打开。
  • enable_connections : 是否使用基于connector的环境运行器, 以便obs的所有的预处理和操作的后处理都在代理和操作连接器中完成。
  • use_worker_filter_stats : 是否将filter的更新从中央filter(本地filter)推送到远程worker的filter.
  • rollout_framework_length : 在推出期间将剧集分为多个步骤的片段。这种大小的轨迹是从 rollout 工作线程中收集的, 并组合成更大的一批 train_batch_size 来进行学习。例如,给定 rollout_fragment_length=100 和 train_batch_size=1000:1. RLlib 从 rollout 工作线程收集 10 个片段,每个片段有 100 个步骤。2. 这些片段被连接起来,我们执行一个 SGD 纪元。当每个工作人员使用多个环境时,片段大小将乘以 num_envs_per_worker。这是因为我们并行地从多个环境收集步骤。例如,如果 num_envs_per_worker=5,则部署工作人员将以 5*100 = 500 个步骤的块形式返回经验。这里的数据流可能因算法而异。例如,PPO 进一步将训练批次划分为多个小批次,以实现多轮 SGD。设置为“auto”以使 RLlib 计算精确的 rollout_fragment_length 以匹配给定的批量大小。
  • batch_mode : 如何使用 EnvRunner 构建单独的批次。
  • remote_worker_envs : 当设置一个进程中运行多个env时, 决定是否在远程进程中而不是同一进程中创建新的环境。
  • remote_env_batch_wait_ms: 轮询环境时远程worker的等待超时时间。
  • valid_worker_after_construction: 是否检查每个远程 worker 是否健康。
  • preprocessor_pref : 是否使用rllib或deepmind的预处理器。
  • compress_observations : 是否 LZ4 压缩在rollout期间收集的sampleBatches 中的各个观测值。
  • enable_tf1_exec_eagerly – 显式告诉 rollout Worker 启用 TF eager 执行。例如,当框架是“torch”,但需要恢复 TF2 策略以进行评估或基于联盟的目的时,这非常有用。
  • Sampler_perf_stats_ema_coef – 如果指定,性能统计数据以 EMA 为单位。这是新数据点对平均值的贡献程度的系数。默认值为“无”,它使用简单的全局平均值。 EMA更新规则为:updated = (1 - ema_coef) * old + ema_coef * new
  • Returns - 此更新的 AlgorithmConfig 对象。

5. algorithmConfig.evaluation() 

  • evaluation_interval: 在训练过程中,间隔多少个episode执行一次evaluation.
  • evaluation_duration: 在训练过程中,间隔多长时间执行一次evaluation. 持续时间的单位可以时episode, 或 timesteps.
  • evaluation_duration_unit: 配合 evaluation_duration使用, episode 或 timesteps.
  • evaluation_num_workers: evaluation使用的worker数。 默认为0. evaluation会额外增加工作进程。
  • evaluation_config: 将额外的参数传递给evaluation的创建者。
  • evaluation_sample_timeout_s – ray.get 调用远程评估工作程序的sample() 方法的超时(以秒为单位)。 在此之后,用户将收到警告和有关如何解决问题的说明。这可以是为了确保剧集结束、增加超时或切换到 evaluation_duration_unit=timesteps。
  • evaluation_parallel_to_training – 是否使用线程与 Algorithm.train() 调用并行运行评估。默认=假。例如。 evaluation_interval=2 -> 对于每个其他训练迭代,Algorithm.train() 和 Algorithm.evaluate()调用并行运行。注意:这是实验性的。可能的陷阱可能是评估循环开始时权重同步的竞争条件。
  • evaluation_config – 典型用法是将额外的参数传递给评估环境创建者,并通过计算确定性操作来禁用探索。重要提示:策略梯度算法能够找到最佳策略,即使这是随机策略。 此处设置“explore=False”将导致评估工作人员不使用此最优策略!
  • off_policy_estimation_methods – 指定如何评估当前策略以及任何可选配置参数。这仅在阅读离线体验时有效(“输入”不是“采样器”)。可用键: {ope_method_name: {“type”: ope_type, …}} 其中 ope_method_name 是用户定义的字符串,用于保存 OPE 结果,ope_type 可以是 OffPolicyEstimator 的任何子类,例如ray.rllib.offline.estimators.is::ImportanceSampling或您自己的自定义子类,或子类的完整类路径。您还可以添加其他配置参数以传递给字典中的 OffPolicyEstimator,例如{“qreg_dr”:{“类型”:DoublyRobust,“q_model_type”:“qreg”,“k”:5}}
  • ope_split_batch_by_episode – 是否使用SampleBatch.split_by_episode()将输入批次分割为多个剧集以在估计ope指标之前。在bandits的情况下,你应该将此设置为False以提高ope评估速度。在bandits的情况下, 不分割剧集也是可以的,因为每个记录已经是一个时间步长了。默认值为True
  • evaluation_num_workers – 用于评估的并行工作线程数。请注意,默认设置为零,这意味着评估将在算法进程中运行(仅当评估间隔不为 None 时)。如果增加此值,则会增加算法的 Ray 资源使用量,因为评估工作线程是与部署工作线程(用于对训练数据进行采样)分开创建的。
  • custom_evaluation_function – 自定义评估方法。这必须是签名的函数(algo:算法,eval_workers:WorkerSet)->指标:dict。请参阅 Algorithm.evaluate() 方法以查看默认实现。该算法保证所有 eval 工作线程在调用此函数之前都具有最新的策略状态。
  • always_attach_evaluation_results – 确保最新的可用评估结果始终附加到步骤结果字典中。 如果 Tune 或其他一些元控制器需要始终访问评估指标,这可能很有用。
  • enable_async_evaluation – 如果为 True,则为评估工作人员使用 AsyncRequestsManager,并使用此管理器向评估工作人员发送sample() 请求。这样,算法对于长时间运行的事件和/或失败(和重新启动)的工作程序变得更加稳健。
  • Returns - 此更新的 AlgorithmConfig 对象。

6. AlgorithmConfig.exploration()

        指定探索选项。

  • explore: 默认探索行为。 设置为None 表示没有探索行为, 例如用于evaluation.
  • explore_config : 指定 Exploration对象的配置。
  • Returns: 返回此更新的 AlgorithmConfig 对象。

7. AlgorithmConfig.resources()

  • num_gpus: 为这个算法分配多少GPU.
  • num_cpus_per_worker: 为每个进程(worker)分配多少cpu
  • num_gpus_per_worker: 为每个进程(worker)分配多少GPU,可以是小数
  • num_cpus_for_local_worker: 为本地运行的进程分配多少cpu.
  • num_learner_workers: 有多少个进程用于训练。
  • num_cpus_per_learner_worker:为 每个用于训练的进程分配多少cpu.
  • num_gpus_per_learner_worker: 为 每个用于训练的进程分配多少gpu.
  • local_gpu_idx: 如果 num_gpus_per_learner_worker>0,并且'num_learner_workers'<2,则该GPU 索引将用于训练过程。这是CUDA 可用设备列表中的索引。
  • custom_resources_per_worker: Optional[dict] = NotProvided,
  • placement_strategy: Optional[str] = NotProvided,

Rllib学习 - [4] - AlgorithmConfig详细介绍 [Pytorch版] rllib中AlgorithmConfig详细介绍 阅读详情

相关推荐

RLlib多智能体开发指南:用Ray 2.53实现星际争霸式对战AI

本文详细介绍了如何使用RLlib和Ray 2.53框架构建复杂的多智能体强化学习系统,以开发类似《星际争霸》的对战AI。内容涵盖从PettingZoo环境集成、多智能体策略配置、自定义模型设计,到利用Ray集群进行分布式训练与加速的完整流程,为开发高性能、可扩展的游戏AI提供了实践指南。

weixin_29279047的博客 377

Rllib学习[1] --rllib基本指令

讲述rllib中的基本操作

upr_rom的博客 4220

RLlib+CARLA自动驾驶仿真训练实战:高鲁棒分布式强化学习流水线

强化学习(RL)在自动驾驶决策中的落地,核心挑战在于仿真环境与训练框架的深度协同。CARLA作为高保真城市驾驶仿真平台,提供语义分割、LiDAR、多相机及物理引擎等关键能力;而RLlib依托Ray构建的分布式Actor-Critic架构,天然支持异步rollout、多智能体协同与弹性容错——二者结合,解决了PyTorch或Stable-Baselines3原生实现中常见的训练不稳定、reward稀疏、worker频繁崩溃等工程痛点。该技术路径已广泛应用于高校算法验证、车企闭环测试与机器人创业公司的低成本路测

davy57345的博客 442

ray.rllib 入门实践-2:配置算法

ray.rllib的算法配置方式有多种,网上的不同教程各不相同,有的互不兼容,本文汇总罗列了多种算法配置方式,给出推荐,并在最后给出可运行代码。

wzg2016的博客 1083

Isaac Gym Preview 3 稳定安装指南:Ubuntu+CUDA 11.3–11.8+Python 3.10 全流程

物理仿真引擎是强化学习算法验证与机器人策略训练的核心基础设施,其底层依赖 GPU 加速、CUDA 运行时与 Python ABI 的严格对齐。Isaac Gym 作为 NVIDIA 官方推出的高性能仿真平台,Preview 3 版本因其静态编译的 CUDA kernel、明确的 CUDA 11.3–11.8 支持区间及对 Ubuntu 20.04/22.04 的完整 ABI 兼容性,成为当前科研与工程落地中最稳定可靠的生产级选择。它规避了 Preview 4 的动态加载缺陷和 CUDA 12.x 的兼容黑洞

380

利用Ray在Python中加速深度学习训练

在深度学习领域,训练模型往往需要大量的计算资源和时间。随着数据集的不断增大和模型复杂度的提升,传统的单机训练方式已经难以满足需求。本文章的目的是介绍如何利用Ray这个强大的分布式计算框架在Python中加速深度学习训练。我们将涵盖Ray的基本概念、核心原理、具体的算法实现、实际应用场景以及相关的工具和资源推荐等方面,旨在让读者全面了解并掌握如何使用Ray来提高深度学习训练的效率。本文将按照以下结构进行组织:首先介绍Ray的核心概念和相关联系,包括其架构和工作原理;

AI Python 编程之道的博客 871

Ray 分布式计算 | 从入门到实践

Ray 是一个强大的分布式计算框架,它让 Python 开发者能够轻松地将单机代码扩展到分布式环境。**核心概念**: - **Task(任务)**:通过 `@ray.remote` 装饰器,可以将普通 Python 函数转换为分布式任务,实现无状态的并行计算 - **Actor(角色)**:为分布式环境提供有状态计算的抽象,支持面向对象的并行编程模型 - **Object Store(对象存储)**:Ray 的分布式共享内存系统,实现高效的跨节点数据共享和传输本教程分为三个部分内容:1. 通过示例讲解

RexWang 的博客 3432

4、深入了解Ray:分布式计算的强大工具

本文深入介绍了Ray这一强大的分布式计算框架,涵盖其生态系统、核心组件及实际应用。文章详细解析了Ray的主要库如Ray Tune、RLlib、Train等的功能与集成能力,阐述了Ray如何通过Ray Core API简化分布式编程,并克服Python GIL带来的并发限制。通过具体代码示例,展示了任务并行化、对象引用机制以及链式任务的实现方式。同时介绍了Ray的三层架构与系统组件,突出了其灵活性、可扩展性与易用性,最后展望了Ray在机器学习与大规模计算中的广泛应用前景。

app77的博客 97

Ray RLlib 架构入门指导

本文介绍了RLlib的核心架构和基本使用方法。主要内容包括: RLlib是构建在Ray上的可扩展强化学习库,通过分离采样和学习过程实现分布式训练。 核心架构包含Algorithm运行时、EnvRunner负责采样、Learner负责学习,通过RLModule和Episode实现解耦。 关键组件:AlgorithmConfig/Algorithm负责配置和运行,EnvRunner与环境交互收集数据,Learner更新模型,RLModule封装神经网络。 训练流程:EnvRunner采样生成Episode →

Keep Learning 245

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

4866

V.PhyloMaker实战:从物种列表到维管束植物系统发育树的完整流程

本文详细介绍了使用V.PhyloMaker工具包,从物种列表快速构建维管束植物系统发育树的完整实战流程。内容涵盖R包安装、物种名标准化、核心函数phylo.maker的三种构建方案选择、结果树的可视化与导出,以及与picante包的联动分析,为生态学和生物地理学研究提供了高效解决方案。

weixin_29057237的博客 375

Ray项目RLlib核心概念解析:从算法到环境的完整指南

Ray项目RLlib核心概念解析:从算法到环境的完整指南 【免费下载链接】ray ray-project/ray: 是一个分布式计算框架,它没有使用数据库。适合用于大规模数据处理和机器学习任务的开发和实现,特别是对于需要使用分布式计算框架的场景。特点是分布式计算框架、无数据库。 ...

gitblog_00202的博客 591

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

m0_74164458的博客 4000

Ray项目中的RLlib MetricsLogger深度解析:强化学习指标记录利器

Ray项目中的RLlib MetricsLogger深度解析:强化学习指标记录利器 【免费下载链接】ray ray-project/ray: 是一个分布式计算框架,它没有使用数据库。适合用于大规模数据处理和机器学习任务的开发和实现,特别是对于需要使用分布式计算框架的场景。特点是分布式计算框架、无数据库。 ...

gitblog_00486的博客 345

别只会‘pip install’了!当Python报错找不到‘pkg_resources’时,你的setuptools可能出大问题

本文深入解析Python开发中常见的`ModuleNotFoundError: No module named 'pkg_resources'`错误,揭示其背后的setuptools依赖问题。通过系统化的诊断与修复指南,帮助开发者理解Python包管理机制,并提供从基础到高级的解决方案,确保pip和setuptools的正常运行。

weixin_42523711的博客 434

cartographer 添加二维码、apritag码作为路标点,测试位置关系

这里记录一下cartographer里面的路标点是如何转换的,首先你要知道路标点在相机坐标系的位置(很多二维码读码器的关系恰好相反,是相机在二维码的坐标系),然后要知道相机坐标系和小车坐标系(一般为base_link)之间的关系。中间用tf_broadcaster_发出来便于查看是否设置正确 void Node::HandleLandmarkMessage( const int trajectory_id, const std::string& sensor_id, const ca

南北粉面馆 2431

Ray和RLlib用于快速并行强化学习

作者|Christian Hubbs 编译|VK 来源|Towards Data Science Ray不仅仅是一个用于多处理的库,Ray的真正力量来自于RLlib和Tune库,它们利用了强化学习的这种能力。它使你能够将训练扩展到大型分布式服务器,或者利用并行化特性来更有效地使用你自己的笔记本电脑进行训练。 我们展示了如何使用Ray和RLlib在OpenAI Gym上构建一个自定义的强化学习环境。 一个RLlib教程 一旦你用pip install ray[rllib]安装了Ray和RLlib,你就可以用命

TensorFlowNews 4676

一键开关机电路

一键开关机电路

让你爱上电路设计 4178

Python强化学习实战:PyTorch与RLlib的分布式训练优化

凌晨三点的启示 我仍记得那个充满咖啡因的夜晚——监视器上DQN智能体在Breakout游戏中笨拙地接球。经过48小时训练,它的最高分停留在可怜的32分。当GPU风扇发出悲鸣时,一个念头击中了我:单机训练的算力天花板,正是阻碍智能体进化的隐形牢笼。这场顿悟开启了我和分布式强化学习的深度对话。理论风暴:强化学习的策略梯度定理(Policy Gradient Theorem)指出,智能体策略的优化方向由轨迹回报的期望梯度决定: 但当状态空间维度爆炸(如Atari游戏的$10^{12677}$种状态),单机训练如

司徒鸿的博客 1302

Pytorch入门教程

Pytorch学习总结:1.张量Tensor 张量是一种特殊的数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量对模型的输入和输出以及模型的参数进行编码。 张量类似于NumPy的ndarray,除了张量可以在 GPU 或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存,从而无需复制数据。...

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 4万+

CAN总线介绍及硬件设计

1. CAN是什么 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“......

sinat_15677011的博客 9991

Ray Tune相关API介绍

1. 注册可训练的函数或类 ray.tune.register_trainable(name, trainable) 参数: name (str) - 注册的方法或函数名。 trainable (obj) - 函数或tune.Trainable类。函数必须采用(config, status_reporter)作为参数,并且在注册的过程中自动转换为类。   2. 构造ex...

xl.zhang的博客 3571

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Ray----Tune(5):Tune包中的类和函数参考

ray.tune ray.tune.grid_search(values) 用于指定值上的网格搜索的快捷方法。 参数: values –参数将被网格化的迭代器。 ray.tune.register_env(name, env_creator) 注册一个自定义环境,以便与RLlib一起使用。 参数: name (str) –注册的名称。 env_cre...

weixin_43255962的博客 5398

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

强化学习工业落地五篇核心论文实战指南

强化学习(RL)作为智能决策的核心范式,其理论与工程实践长期存在断层。从马尔可夫决策过程(MDP)建模到策略优化,关键在于理解算法如何解决样本效率、环境非平稳性与安全约束等工业瓶颈。深度Q网络(DQN)确立了函数逼近基础,A3C提升了分布式训练鲁棒性,PPO以clip机制保障更新稳定性,SAC通过熵正则化平衡探索与利用,Rainbow则集成多维改进形成高适配基线。这些工作共同构成现代工业RL系统80%的代码骨架,广泛应用于推荐系统、智能制造与物流调度等场景。本文聚焦五篇高迁移性、可模块化、易调试的奠基性论文

weixin_30357231的博客 441

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LXGW WenKai 开源中文字体指南:免费商用,2万余字

霞鹜文楷 LXGW WenKai 是基于 Klee One 衍生的开源中文字体,SIL OFL 1.1 授权,免费商用,日常显示和代码场景都能用。想给手机或海报换一套带笔锋的楷体,又怕流传的拼凑楷体版权说不清,它就是授权链路干净的替代选择。 ## 上手前先看这几条 🧾 - **授权**:SIL OFL 1.1,个人与企业自由商用,无需付费、无需署名,全文见 [OFL.txt](https:/

gitblog_00376的博客 736

RLHive 开源项目教程

RLHive 开源项目教程 1、项目介绍 RLHive 是一个旨在促进强化学习研究的框架。它提供了运行完整的强化学习实验所需的组件,支持单代理和多代理环境。RLHive 设计为可读性强且易于扩展,允许用户快速运行和实验他们自己的想法。完整的文档和教程可在 RLHive 官方文档 中找到。 2、项目快速启动 安装 RLHive 首先,通过 pip 安装 RLHive 基本包: pip install...

gitblog_00584的博客 510
上一篇: ray.rllib 入门实践-2:配置算法
下一篇: ray.rllib 入门实践-4: 构建算法
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值