ray-rllib使用实践 -- 1

【ray】【PPOConfig】 类PPOConfig继承于PPOConfig。 阅读详情

环境: 

        python: 3.12.8

        ray: 2.40.0

        gymnasium: 1.0.0

用 PPOConfig配置并创建算法,并训练, 保存checkpoint 

from genericpath import exists
from ray.rllib.algorithms.ppo import PPOConfig 
from ray.tune.logger import pretty_print 
import os 

algo = (
    PPOConfig()
    .env_runners(num_env_runners=1) ## 并行或分布式的几个进程
    .resources(num_gpus=0)
    .environment(env="CartPole-v1")
    .build()
)

## 训练并保存 checkpoint 
for i in range(5):
    result = algo.train()
    print(f"episode_{i}")
    # print(pretty_print(result))  ## result中包含了许多信息,可以选择性的提取使用或打印

    if i % 2 == 0:
        checkpoint_dir = f"F:/codes/RLlib_study/outputs/checkpoint_episode_{i}"
        os.makedirs(checkpoint_dir,exist_ok=True)
        
        algo.save_checkpoint(checkpoint_dir)
        print(f"saved checkpoint to {checkpoint_dir}")
        # checkpoint_dir = algo.save().checkpoint.path 
        # print(f"Checkpoint saved in directory {checkpoint_dir}")

 加载预训练的模型继续训练并保存模型

from ray.rllib.algorithms.algorithm import Algorithm 

checkpoint_path = "F:/codes/RLlib_study/outputs/checkpoint_episode_2"
algo = Algorithm.from_checkpoint(checkpoint_path)
print(f"成功加载 checkpoint from {checkpoint_path} ")

## 继续训练并保存 checkpoint 
for i in range(6,10,1):
    result = algo.train()
    print(f"episode_{i}")
    # print(pretty_print(result))
    if i % 2 == 0:
        checkpoint_dir = f"F:/codes/RLlib_study/outputs/checkpoint_episode_{i}"
        os.makedirs(checkpoint_dir,exist_ok=True)
        algo.save_checkpoint(checkpoint_dir)
        print(f"saved checkpoint to {checkpoint_dir}")

参考:RLlib一:RLlib入门-优快云博客

Getting Started with RLlib — Ray 3.0.0.dev0

【ray】【Rllib】关键概念 在特定的环境和政策条件下,政策评估会产生一批批的经验。动作->奖励->下一个状态->训练->重复的模拟迭代,直到结束状态,被称为一个插曲,或在RLlib中,一个展示。RL仿真反馈循环重复收集一个(单代理情况)或多个(多代理情况)策略的数据,在这些收集的数据上训练策略,并确保策略的权重保持同步。因此,收集的环境数据包含观察结果、采取的行动、收到的奖励和所谓的完成标志,指示代理在模拟中播放的不同情节的边界。策略是一个将环境的观察映射到要采取的动作的函数,通常写为π(s(t))-> a(t)。 阅读详情

相关推荐

Ray强化学习分布式框架及RLlib

最近阅读了 Ray: A Distributed Framework for Emerging AI Applications RLlib: Abstractions for Distributed Reinforcement Learning 两篇文章,然而发现对应的博客解读还是比较少,所以简单总结下这两篇文章。 首先这是一个开源项目,相关的文档已经可以轻松在网上获得。分布式框架 ...

如雨繁辰‘s blog 8684

机器学习框架Ray -- 1.4 Ray RLlib的基本使用

RLlib是一种建立在Ray之上的行业级别的强化学习(RL)库。RLlib提供了高度可扩展性和统一的API,适用于各种行业和研究应用。定义了一个名为SimpleCorridor的gym环境,使用PPO算法进行并行强化学习。

wenquantongxin的博客 3873

RLlib一:RLlib入门

强化学习库,RLlib入门

Kiek17的博客 4412

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

讲述rllib中的基本操作

upr_rom的博客 4220

【ray】【RLlib】【Algorithms 算法】

0.0对应于均匀概率。training(*,vtrace:bool| None =,use_critic:bool| None =,use_gae:bool| None =,lambda_:float| None =,clip_param:float| None =,use_kl_loss:bool|无=,kl_coeff:浮点|无=,kl_target:float|无=,τ:浮点|None =,target_update_frequency:int|无=,**kwargs)→ APPOConfig。

wq6qeg88的博客 1196

9、使用 Ray RLlib 进行强化学习

本文介绍了如何使用 Ray RLlib 进行强化学习,涵盖从环境构建、算法训练到模型评估与部署的完整流程。RLlib 作为行业级强化学习库,支持分布式训练、多种深度学习框架,并与 Ray Tune 和 Ray Serve 紧密集成,便于超参数调优和模型部署。文章详细讲解了 Gym 环境的实现、CLI 与 Python API 的使用方法、模型保存与动作计算,并探讨了课程学习、多智能体环境和外部经验数据利用等高级主题,帮助开发者高效构建和扩展强化学习应用。

app77的博客 242

RLlib三:环境

RLlib适用于几种不同类型的环境,包括Farama-Foundation Gymnasium、用户定义、多智能体环境以及批处理环境。并非所有环境都适用于所有算法。查看算法概述以获取更多信息。

Kiek17的博客 1347

树莓派驱动DLPDLCR230NPEVM+framebuffer显示图片

DLPDLCR230NPEVM DLP® LightCrafter™ Display 230NP 是一个易于使用的紧凑型即插即用评估平台,适用于消费类产品、工业、医疗和物联网 (IoT) 市场中的各种超便携显示应用。此评估模块 (EVM) 采用 DLP230NP 芯片组,该芯片组由DLP230NP.23 1080p DMD、DLPC3436显示控制器和DLPA2005PMIC/LED 驱动器组成。此 EVM 外形小巧,配备生产就绪型光学引擎以及支持 18 位 RGB 并行视频接口...

L_Y000的博客 2618

RLlib二:强化学习(RLlib)的关键概念

算法类的**training_step()**方法定义了位于任何算法核心的可重复执行逻辑。将其视为研究论文中算法伪代码的python实现。您可以使用training_step()来表达您希望如何协调从环境中收集样本、将这些数据移动到算法的其他部分,以及跨不同分布式组件更新和管理策略权重。简而言之,如果开发人员想要对现有算法进行自定义更改、从头开始编写自己的算法或从论文中实现一些算法,他们将需要覆盖/修改“training_step”方法。

Kiek17的博客 1324

AI气象预报:数值模式融合与短临预警的工程实践

气象预报正经历从物理推演到数据驱动的认知范式转变。AI气象预报并非替代传统数值模式,而是通过数值模式融合弥补其在参数化误差、初值敏感性和计算效率上的固有瓶颈。其技术价值在于提升短临预警时效性与空间精度,支撑航空调度、电力调控、防洪应急等关键场景。实践中需兼顾物理一致性、可解释性与业务系统兼容性,避免纯黑箱建模带来的外推失效与不确定性缺失风险。本文聚焦AI作为超分辨率引擎、误差矫正器和短临加速器的三类落地路径,解析HEALPix投影、多尺度图建模、轻量级U-Net等核心适配方法。

weixin_28221501的博客 298

cesium加载天地图、OSM、谷歌底图

以上示例是加载矢量底图,若要加载影像或者其他只需要更换相应的url,在WebMapTileServiceImageryProvider中还要更改layer参数。url中’‘vec_w’,一些其他风格,基于CRAT渲染,两种方法效果差别不大。有两种方法加载天地图分别是。对应投影样式,具体可看。还要谷歌的一些卫星底图。

qq_44897914的博客 3000

ray.rllib-入门实践-12-1:在自定义policy中注册使用自定义model

中介绍了如何自定义一个model并注册到ray中去使用。可以默认自定义的policy自动向ray注册了自定义的model。如何自定义policy并使用见。

wzg2016的博客 611

关于HC32F460 输出可调占空比PWM波遇到的问题记录

文章目录问题记录一、问题分析二、解决方法总结 问题记录 芯片:HC32F460系列 功能:PWM电机调速 最近产品开发,需要用到HC32的PWM输出来控制电机的转速。参考官方的例程很快就完成了相关的功能,但是,后面在测试,重复开关电机的时候,发现电机的转速时大时小。 一、问题分析 一开始,怀疑是相关寄存器的设置出错导致的问题。因此在设置PWM输出时加上LOG打印,上机测试并没有发现问题。 用示波器抓取波形,这是正常状态下的波形(上电默认配置成5kHz,70%占空比输出) 这是转速较小时的波形输出 .

Top0_0lll的博客 6165

强化学习rllib简明教程 ray

强化学习rllib简明教程 ray     之前说到强化 学习的库,推荐了tianshou,但是tianshou实现的功能还不够多,于是转向rllib,个人还是很期待tianshou的发展。     回到rllib,rllib是基于ray的一个工具(不知道这么说是不是合适),ray和rllib的关系就像,mllib之于spark,ray是个分布式的计算框架。     官网,文档。进入官网,

Lejeune的博客 1万+

【2026年米哈游春招 - 3月14日 -第一题- 行列相等】(题目+思路+Java&C++&Python解析+在线测试)

摘要 本文解决了一个矩阵行列和匹配问题:统计矩阵中行和等于列和的所有行列对数量。算法首先计算每行和每列的元素和,然后利用哈希表统计各行列和的出现次数。通过遍历列和并查询对应的行和出现次数,高效计算出匹配对数。该方法时间复杂度为O(nm),空间复杂度为O(n+m),适用于大规模矩阵数据。代码实现了Python、Java和C++版本,通过哈希表优化避免了暴力枚举,显著提高了计算效率。

m0_73659489的博客 83

零基础入门simulink仿真--通信领域的调制解调技术:基于Simulink的PM信号调制与解调仿真建模示例

PM的基本原理是将基带信号(如语音或音乐信号)加载到高频载波信号的相位上。通过改变载波的瞬时相位,可以实现信息的传输。PM的优点包括抗噪声能力强、频谱利用率较高等,但其解调过程相对复杂。通过Simulink,我们可以通过模块化的建模方式实现PM信号的调制和解调过程,并观察信号在信道中的传输效果。通过本指南,我们介绍了如何基于Simulink搭建一个完整的PM信号调制与解调仿真模型,并进行仿真和性能评估。背景介绍:理解PM信号调制与解调的基本原理及其应用。所需工具和环境:列出进行PM仿真所需的工具和环境。

amy_mhd的博客 604

深度强化学习框架Ray|RLLib|Tune学习笔记

文章目录0 Ray深度强化学习框架概述1 Ray使用场景—多进程2 Ray使用场景—进程间通信3 Tune使用场景—调参4 RLLib使用场景—RL算法5 Ray、Tune和RLLib关系6 Ray系统架构(实现多进程和跨节点通信)6.1 Ray系统架构—概述6.2 Ray系统架构—内存管理7 Tune系统架构(实验资源分配+调参)8 RLLib系统架构(Trainer、Policy和Agent)8.1 Policy实现功能8.2 Trainer实现功能参考文献 0 Ray深度强化学习框架概述 Ray—

SL_World的博客 9323

【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

简介QDM原理及其MATLAB代码实现

WW、forever的博客 5861

【强化学习】Ray RLlib框架

Ray是一个开源的分布式计算框架,旨在解决大规模计算任务的高性能和分布式处理需求。它提供了任务调度、并行计算、分布式存储等丰富功能,允许终端用户并行化单个机器代码,几乎不需要更改代码。Ray为构建和运行分布式应用程序提供了简单的单元,并在其上构建了一个大型的应用程序、库和工具生态系统,以支持复杂的应用程序。

大雨淅淅的博客 1890

openharmony之启动恢复子系统详解

需求: 添加一个名为my_service的自定义服务步骤1: 创建服务配置],],"env": [步骤2: 添加到主配置],"jobs": ["cmds": [步骤3: 验证配置# ✅ 检查配置格式 jq . /system/etc/init/my_service.cfg # 🔄 重新加载配置 begetctl reload # 📊 验证服务状态 begetctl dump_service my_serviceOpenHarmony init进程的完整生命周期。🔄 三阶段启动模型⚙️ 配置体系。

m0_67505153的博客 600

Devexpress16.2.6破解工具

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

【亲测免费】 Ray RLlib 教程使用指南

Ray RLlib 教程使用指南 1. 项目介绍 Ray RLlib 是一个用于强化学习(RL)的高扩展性库,属于 Ray 项目的一部分。它提供了多种算法(包括离线、基于模型、无模型等),支持 TensorFlow 和 PyTorch,并提供统一的 API,适用于各种应用场景。本教程旨在帮助初学者通过 Ray RLlib 库理解和使用强化学习环境、模型和算法。 2. 项目快速启动 2.1 安装依赖...

gitblog_00877的博客 1860

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

RLlib简介

参考: https://ray.readthedocs.io/en/latest/rllib.html https://zhuanlan.zhihu.com/p/79613212 文章目录1. RLlib: 可扩展强化学习1.1. custom env example1.2. API documentation1.3. concepts and custom algorithms2. 一分钟熟悉R...

方小汪的博客 8282

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

使用Ray RLlib构建自定义强化学习环境

基于Ray RLlib 2.51.1版本,详细介绍了构建自定义强化学习环境与模型的方法。内容包括:1)继承Gymnasium的Env类实现自定义环境,定义观测/动作空间及核心接口;2)通过TorchModelV2实现自定义神经网络模型,包含策略网络和价值函数;3)使用PPOConfig链式配置训练参数,并处理新旧API兼容性问题;4)完整的训练流程及模型保存方法。文中所有代码均通过实际验证,解决了原参考文章因版本更新导致的API不兼容问题。

m0_60610428的博客 1301

使用ray[rllib]实现pettingzoo的simple_spread

Ray是世界上最强大的人工智能平台的中心。它为任何规模的任何加速器上的任何分布式工作负载精确地编排基础设施。国内关于使用ray进行多智能体学习的文章好像很少,不知道为什么,故自己设计一个。。本文环境为:ray2.42.1,python3.11,纯cpu。

m0_58268183的博客 1222

Ray|RLLib|Tune学习笔记

Ray是一个分布式计算框架,提供了多进程通信和集群管理的功能,能够高效地利用多核CPU和多台机器的计算资源。Tune是基于Ray的超参数优化库,用于管理多个实验的运行和资源分配。RLLib是基于Ray和Tune的强化学习库,提供了多种强化学习算法的实现,并支持分布式训练。

hooksten的博客 696

ray.rllib入门实践-1: 快速跑通

参考: 1. RLlib: Industry-Grade, Scalable Reinforcement Learning — Ray 2.41.02. RLlib一:RLlib入门-优快云博客

wzg2016的博客 731
上一篇: rllib_2_tune实践
下一篇: ray.rllib入门实践-1: 快速跑通
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值