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

Obsidian + AI 自动知识管理:手把手教程

装完后,在命令面板(Ctrl+P)搜 "Generate Summary",AI 会在当前笔记末尾追加一段摘要。你一个月前写的、现在想快速回顾的笔记长篇笔记(三千字以上)开会记录这类信息密集的内容过度自动化。有人装上插件后,所有笔记都让 AI 打标签、写摘要、找关联。最后笔记库看起来整整齐齐,但全都是 AI 的链接,你自己完全没参与。这样做的后果是什么?你写过的笔记跟你没有"真实连接"。你还是记不住。你还是不知道自己的知识库里有什么。AI 推荐,你决策。

weixin_43571227的博客 748

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

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

Kiek17的博客 1324

Pinocchio 结合 CasADi 进行 IK 逆运动学及 Mujoco 仿真

摘要:本视频演示了如何利用Pinocchio和CasADi实现机械臂逆运动学(IK)求解,并在Mujoco中进行仿真。通过构建优化问题(最小化位姿误差),结合IPOPT求解器对机械臂关节角度进行优化。代码支持导入URDF/MJCF模型,并以so100机械臂为例,实现了末端执行器位置跟踪的仿真测试。关键步骤包括:建立平移/旋转误差函数、设置约束条件、调用CasADi求解,最终在Mujoco中实时更新关节状态完成运动控制。

darcsdn 1002

LPDDR4x 深度解析(3) - SDRAM核心操作机制

本文深入解析LPDDR4x SDRAM的核心操作机制,包括基础架构、刷新操作、读写流程及低功耗设计。详细介绍了存储阵列、地址解码器等关键模块,以及自刷新与自动刷新模式的区别。通过实测数据和技术细节,揭示LPDDR4x在性能优化和功耗控制方面的创新设计,为硬件工程师提供实用参考。

weixin_29278805的博客 308

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

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

wzg2016的博客 611

AutoCAD 2024 LISP实用技巧:自定义快捷命令与高效绘图工具集

本文详细介绍了如何在AutoCAD 2024中部署和使用LISP脚本,打造高效绘图工具集。通过自定义快捷命令,如WFF(超级文字查找替换)、GQT(图层隔离)和LLTJ(智能长度统计),可大幅简化图层管理、文字编辑和测量统计等重复性操作,显著提升绘图效率。

gan8painter的博客 318

强化学习rllib简明教程 ray

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

Lejeune的博客 1万+

【Android性能优化】Android App 冻结与内存压缩:CachedAppOptimizer 源码级解析

本文基于 AOSP Android 16 源码,以 `CachedAppOptimizer` 为核心,深度解析 Android 对"后台缓存应用"的两大治理手段——**进程冻结(Freezer)**与**内存压缩(Compaction)**。文中完整还原冻结的 debounce 去抖动机制、`mEarliestFreezableTime` 的最早可冻结时刻算法、粘性冻结(Sticky Freeze)的语义,以及解冻时必须"先解 binder 再解进程"的顺序奥义。

weixin_44081096的博客 175

python乘法运算 信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

本文解析了全国青少年信息素养大赛Python编程挑战赛的乘法运算题目。题目要求通过递归算法实现两个自然数的乘法运算,并输出算式。算法分析指出可将乘法转化为累加,使用递归函数实现。程序代码展示了一个自定义函数add(),通过递归调用完成累加运算。文章还分析了考点,包括递归函数、输入处理、分支语句等编程基础知识的应用。最后强调解题方法的多样性,重点在于理解递归原理和实现题目要求。该题目难度适中,主要考查选手对递归算法的理解和编程基础能力。

青少年编程学习指导 789

深度强化学习框架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

ROS局部路径规划器插件teb_local_planner流程梳理(上)

在我之前的文章《ROS导航包Navigation中的 Movebase节点路径规划相关流程梳理》中已经介绍过Move_base节点调用局部路径规划器插件的接口函数是computeVelocityCommands,接下来,我们就从这个函数入手梳理一下teb_local_planner功能包的工作流程。

慕羽★的博客 5165

【强化学习】Ray RLlib框架

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

大雨淅淅的博客 1890

在Open3D中从网格中采样点云

在本文中,我们将学习如何使用Open3D从网格中采样点云。点云采样是点云处理的重要步骤之一,能够为后续的任务提供必要的输入。通过这些示例代码,我们可以很容易地使用Open3D库从网格模型中采样点云。值得注意的是,根据实际应用需求,我们可以调整采样点的数量和采样方法来满足不同的场景需求。除了使用Poisson Disk算法,Open3D还提供了其他的点云采样方法,如Uniform采样和Random采样。这个函数使用了Poisson Disk采样算法,可以在保持点云均匀性的同时,尽可能避免重叠点的生成。

FxRuby的博客 413

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

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

gitblog_00877的博客 1860

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用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、付费专栏及课程。

余额充值