nnabla-rl

nnabla-rl

深度强化学习库,基于Neural Network Libraries构建

nnabla-rl是基于Neural Network Libraries构建的深度强化学习库,适用于研究、开发和生产环境。该库提供简洁的Python API,集成多种经典和前沿强化学习算法,实现在线与离线训练的灵活切换。nnabla-rl支持通过nnabla-browser可视化训练过程,安装便捷,兼容GPU加速,并提供交互式示例便于快速上手。

nnablaRL深度强化学习神经网络库PythonGPU加速Github开源项目

许可证 构建状态 文档状态 文档风格 代码风格:black

基于神经网络库构建的深度强化学习库

nnablaRL 是一个基于神经网络库构建的深度强化学习库,旨在用于研究、开发和生产。

安装

安装 nnablaRL 非常简单!

$ pip install nnabla-rl

nnablaRL 仅支持 Python 版本 >= 3.8 和 nnabla 版本 >= 1.17。

启用 GPU 加速(可选)

nnablaRL 算法默认在 CPU 上运行。要在 GPU 上运行算法,首先按如下方式安装 nnabla-ext-cuda。 (根据您机器上安装的 CUDA 版本替换 [cuda-version]。)

$ pip install nnabla-ext-cuda[cuda-version]
# 安装示例。假设您的机器上安装了 CUDA 11.0。 $ pip install nnabla-ext-cuda110

安装 nnabla-ext-cuda 后,通过算法的配置设置要运行的 GPU ID。

import nnabla_rl.algorithms as A config = A.DQNConfig(gpu_id=0) # 使用 GPU 0。如果为负数,将在 CPU 上运行。 dqn = A.DQN(env, config=config) ...

特性

友好的 API

nnablaRL 具有友好的 Python API,只需 3 行 Python 代码即可开始训练。 (注意:以下代码将在 CPU 上运行。请参阅上述说明以在 GPU 上运行。)

import nnabla_rl.algorithms as A from nnabla_rl.utils.reproductions import build_classic_control_env # 先决条件: # 运行以下命令以启用渲染! # $ pip install nnabla-rl[render] env = build_classic_control_env("Pendulum-v1", render=True) # 1 ddpg = A.DDPG(env, config=A.DDPGConfig(start_timesteps=200)) # 2 ddpg.train(env) # 3

要获取有关 nnablaRL 的更多详细信息,请参阅文档示例

众多内置算法

nnablaRL 实现了大多数著名/最先进的深度强化学习算法,如 DQN、SAC、BCQ、GAIL 等。已实现的算法经过仔细测试和评估。您可以轻松地使用这些经过验证的实现开始训练您的代理。

有关已实现算法的列表,请参见此处

您还可以在此处找到每种算法的复现和评估结果。 请注意,在您的计算机上运行复现代码时,可能无法获得完全相同的结果。结果可能会根据您的机器、nnabla/nnabla-rl 的包版本等略有变化。

在线和离线训练的无缝切换

在强化学习中,有两种主要的训练程序来训练智能体:在线训练和离线训练。

在线训练是一种交替执行数据收集和网络更新的训练程序。相反,离线训习是一种仅使用现有数据更新网络的训练程序。使用nnablaRL,您可以无缝切换这两种训练程序。例如,如下所示,您可以轻松地使用模拟环境在线训练机器人控制器,然后使用真实机器人数据集离线微调它。

import nnabla_rl import nnabla_rl.algorithms as A simulator = get_simulator() # 这只是一个示例。假设模拟器存在 dqn = A.DQN(simulator) # 在线训练100万次迭代 dqn.train_online(simulator, total_iterations=1000000) real_data = get_real_robot_data() # 这也是一个示例。假设您有真实机器人数据 # 使用真实数据离线微调智能体1万次迭代 dqn.train_offline(real_data, total_iterations=10000)

训练图和训练进度的可视化

nnablaRL支持使用nnabla-browser可视化训练图和训练进度!

import gym import nnabla_rl.algorithms as A import nnabla_rl.hooks as H import nnabla_rl.writers as W from nnabla_rl.utils.evaluator import EpisodicEvaluator # 保存训练计算图 training_graph_hook = H.TrainingGraphHook(outdir="test") # 使用nnabla的Monitor进行评估钩子 eval_env = gym.make("Pendulum-v0") evaluator = EpisodicEvaluator(run_per_evaluation=10) evaluation_hook = H.EvaluationHook( eval_env, evaluator, timing=10, writer=W.MonitorWriter(outdir="test", file_prefix='evaluation_result'), ) env = gym.make("Pendulum-v0") sac = A.SAC(env) sac.set_hooks([training_graph_hook, evaluation_hook]) sac.train_online(env, total_iterations=100)

训练图可视化

训练状态可视化

入门

尝试以下交互式演示来开始。</br> 您可以直接在Colab上从下表的链接运行它。

标题笔记本目标强化学习任务
入门简单强化学习训练在Colab中打开倒立摆
学习如何使用训练算法在Colab中打开倒立摆
学习如何使用自定义网络模型进行训练在Colab中打开山地车
学习如何使用不同的网络求解器进行训练在Colab中打开倒立摆
学习如何使用不同的回放缓冲区进行训练在Colab中打开倒立摆
学习如何使用自己的环境进行训练在Colab中打开自定义环境
雅达利游戏训练示例在Colab中打开雅达利游戏

文档

完整文档在这里

贡献指南

欢迎对nnablaRL进行任何形式的贡献!详情请参阅贡献指南

许可证

nnablaRL 根据Apache License Version 2.0许可证提供。

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多