前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >可定制算法和环境,这个开源强化学习框架火了

可定制算法和环境,这个开源强化学习框架火了

作者头像
机器之心
发布2023-03-29 17:57:32
8030
发布2023-03-29 17:57:32
举报
文章被收录于专栏:机器之心

机器之心报道

机器之心编辑部

强化学习框架怎么选?不如自己定制一个。

强化学习(reinforcement learning,RL)是近年来最受关注的人工智能研究方向之一,在机器人、游戏等领域应用甚广。现有的强化学习框架往往无法支持高效、定制化的训练场景的问题。

近日,GitHub 上一个名为 JORLDY 的开源、可定制强化学习(RL)框架引发关注。

项目地址:https://github.com/kakaoenterprise/JORLDY

JORLDY 的主要优点是提供多种分布式强化学习算法,并且易于定制。由于 JORLDY 目前还是 beta 版本,与现有框架相比存在一些不足。

开发团队表示未来将继续提高 JORLDY 的可用性。此外,他们还计划添加新的强化学习环境和算法,例如基于模型的强化学习、多智能体强化学习和元强化学习。

该开源 RL 框架具有以下特性:

  • 提供 20 + 种强化学习算法和多种强化学习环境;
  • 算法和环境可定制;
  • 可以添加新的算法和环境;
  • 使用 ray 提供分布式 RL 算法;
  • 算法的基准测试是在许多 RL 环境中进行的。

分布式架构

为了实现分布式强化学习,该项目使用 ray(允许参与者并行交互)和多进程,支持单个参与者(actor)训练、同步分布式训练和异步分布式训练。

单个参与者训练

单个参与者训练脚本中包含主进程和管理进程。在主进程中,单个智能体与环境交互以收集转移(transition)数据,并借助这些数据训练网络。在管理进程中,使用最新的网络进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:

同步分布式训练

同步分布式训练脚本和单个参与者训练脚本类似,也是包含主进程和管理进程。在主进程中,多个参与者同时并行交互以收集转移数据,并借助这些数据训练模型。在管理进程中,用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:

异步分布式训练

异步分布式训练脚本中包含交互进程、主进程和管理进程。在交互进程中,多个参与者并行交互以收集转移数据。与同步分布式训练脚本不同,每个参与者都是异步交互的。更具体地说,在异步分布式训练脚本中,参与者交互时,仅为在特定时间内已完成的参与者传输数据。在主进程中借助转移数据训练模型。在管理进程中使用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示。

安装与使用

安装代码如下:

代码语言:javascript
复制
git clone https://github.com/kakaoenterprise/JORLDY.git  cd JORLDYpip install -r requirements.txt
# linuxapt-get update apt-get -y install libgl1-mesa-glx # for opencvapt-get -y install libglib2.0-0    # for opencvapt-get -y install gifsicle        # for gif optimize

使用以下代码开始使用 JORLDY:

代码语言:javascript
复制
cd jorldy
# Examples: python [script name] --config [config path]python single_train.py --config config.dqn.cartpolepython single_train.py --config config.rainbow.atari --env.name assault
# Examples: python [script name] --config [config path] --[optional parameter key] [parameter value]python single_train.py --config config.dqn.cartpole --agent.batch_size 64python sync_distributed_train.py --config config.ppo.cartpole --train.num_workers 8

感兴趣的小伙伴快去试试吧!

参考链接:

https://www.reddit.com/r/MachineLearning/comments/qp9bra/project_jorldy_opensource_reinforcement_learning/

详解NVIDIA TAO系列分享第2期:

基于Python的口罩检测模块代码解析——快速搭建基于TensorRT和NVIDIA TAO Toolkit的深度学习训练环境

第2期线上分享将介绍如何利用NVIDIA TAO Toolkit,在Python的环境下快速训练并部署一个人脸口罩监测模型,同时会详细介绍如何利用该工具对模型进行剪枝、评估并优化。

TAO Toolkit 内包含了150个预训练模型,用户不用从头开始训练,极大地减轻了准备样本的工作量,让开发者专注于模型的精度提升。本次分享摘要如下:

  • NVIDIA TAO Toolkit的独到特性
  • TensorRT 8.0的最新特性
  • 利用TAO Toolkit快速训练人脸口罩检测模型
  • 利用TensorRT 快速部署人脸口罩检测模型

点击阅读原文,报名直播吧。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档