强化学习(reinforcement learning,RL)是近年来最受关注的人工智能研究方向之一,在机器人、游戏等领域应用甚广。现有的强化学习框架往往无法支持高效、定制化的训练场景的问题。
近日,GitHub 上一个名为 JORLDY 的开源、可定制强化学习(RL)框架引发关注。
项目地址:https://github.com/kakaoenterprise/JORLDY
JORLDY 的主要优点是
提供多种分布式强化学习算法,并且易于定制
。由于 JORLDY 目前还是 beta 版本,与现有框架相比存在一些不足。
开发团队表示未来将继续提高 JORLDY 的可用性。此外,他们还计划添加新的强化学习环境和算法,例如基于模型的强化学习、多智能体强化学习和元强化学习。
为了实现分布式强化学习,该项目使用 ray(允许参与者并行交互)和多进程,支持单个参与者(actor)训练、同步分布式训练和异步分布式训练。
单个参与者训练脚本中包含主进程和管理进程。在主进程中,单个智能体与环境交互以收集转移(transition)数据,并借助这些数据训练网络。在管理进程中,使用最新的网络进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:
同步分布式训练脚本和单个参与者训练脚本类似,也是包含主进程和管理进程。在主进程中,多个参与者同时并行交互以收集转移数据,并借助这些数据训练模型。在管理进程中,用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示:
异步分布式训练脚本中包含交互进程、主进程和管理进程。在交互进程中,多个参与者并行交互以收集转移数据。与同步分布式训练脚本不同,每个参与者都是异步交互的。更具体地说,在异步分布式训练脚本中,参与者交互时,仅为在特定时间内已完成的参与者传输数据。在主进程中借助转移数据训练模型。在管理进程中使用最新的模型进行评估得到一个分数,并在主进程中记录这个分数和训练结果。训练流程如下图所示。
git clone https://github.com/kakaoenterprise/JORLDY.git
cd JORLDY
pip install -r requirements.txt
apt-get update
apt-get -y install libgl1-mesa-glx
apt-get -y install libglib2.0-0
apt-get -y install gifsicle
cd jorldy
# Examples: python [script name] --config [config path]
python single_train.py --config config.dqn.cartpole
python 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 64
python 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个预训练模型,用户不用从头开始训练,极大地减轻了准备样本的工作量,让开发者专注于模型的精度提升。本次分享摘要如下:
-
-
-
利用TAO Toolkit快速训练人脸口罩检测模型
-
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com