Project Icon

xuance

多框架支持的深度强化学习算法库

XuanCe是一个开源的深度强化学习算法库,支持PyTorch、TensorFlow和MindSpore等多种框架。它兼容单智能体和多智能体任务,提供丰富的算法实现。XuanCe设计模块化,易于学习和使用,运行速度快。支持经典控制、Box2D、MuJoCo、Atari等多种环境,为研究和开发提供全面的深度强化学习工具。

XuanCe:一个全面统一的深度强化学习库

PyPI Documentation Status GitHub Downloads GitHub Repo stars GitHub forks GitHub watchers

PyTorch TensorFlow MindSpore

Python gym gymnasium pettingzoo

XuanCe是一个开源的深度强化学习(DRL)算法实现集合。

我们在中文中称之为玄策。 ""意味着不可思议和神奇的盒子,""意味着策略。

DRL算法对超参数调整敏感,在不同技巧下性能各异,并且训练过程不稳定,因此,有时DRL算法看起来难以捉摸和"玄"。 这个项目提供了DRL算法的全面、高质量和易于理解的实现, 希望这个实现能够揭示强化学习的魔力。

我们期望它能够兼容多个深度学习工具箱( PyTorchTensorFlow,和 MindSpore), 并希望它能真正成为一个充满DRL算法的动物园。

论文链接:https://arxiv.org/pdf/2312.16248.pdf

:book: 完整文档 | 中文文档 :book:

为什么选择XuanCe?

XuanCe的特点

  • :school_satchel: 高度模块化。
  • :thumbsup: 易于学习,易于安装,易于使用
  • :twisted_rightwards_arrows: 模型组合灵活。
  • :tada: 丰富的算法适用于各种任务。
  • :couple: 支持DRL和MARL任务。
  • :key: 对不同用户高度兼容。(PyTorch、TensorFlow2、MindSpore、CPU、GPU、Linux、Windows、MacOS等)
  • :zap: 借助并行环境实现快速运行。
  • :chart_with_upwards_trend: 使用tensorboardwandb工具实现良好的可视化效果。

目前包含的算法

:point_right: DRL

(点击显示支持的DRL算法) - 深度Q网络 - DQN [[论文](https://www.nature.com/articles/nature14236)] - 双Q学习的DQN - 双DQN [[论文](https://ojs.aaai.org/index.php/AAAI/article/view/10295)] - 决斗网络的DQN - 决斗DQN [[论文](http://proceedings.mlr.press/v48/wangf16.pdf)] - 优先经验回放的DQN - PER [[论文](https://arxiv.org/pdf/1511.05952.pdf)] - 参数空间噪声探索的DQN - NoisyNet [[论文](https://arxiv.org/pdf/1706.01905.pdf)] - 深度循环Q网络 - DRQN [[论文](https://cdn.aaai.org/ocs/11673/11673-51288-1-PB.pdf)] - 分位数回归的DQN - QRDQN [[论文](https://ojs.aaai.org/index.php/AAAI/article/view/11791)] - 分布式强化学习 - C51 [[论文](http://proceedings.mlr.press/v70/bellemare17a/bellemare17a.pdf)] - 普通策略梯度 - PG [[论文](https://proceedings.neurips.cc/paper/2001/file/4b86abe48d358ecf194c56c69108433e-Paper.pdf)] - 分阶段策略梯度 - PPG [[论文](http://proceedings.mlr.press/v139/cobbe21a/cobbe21a.pdf)] [[代码](https://github.com/openai/phasic-policy-gradient)] - 优势演员评论家 - A2C [[论文](http://proceedings.mlr.press/v48/mniha16.pdf)] [[代码](https://github.com/openai/baselines/tree/master/baselines/a2c)] - 基于最大熵的软演员评论家 - SAC [[论文](http://proceedings.mlr.press/v80/haarnoja18b/haarnoja18b.pdf)] [[代码](http://github.com/haarnoja/sac)] - 离散动作的软演员评论家 - SAC-Discrete [[论文](https://arxiv.org/pdf/1910.07207.pdf)] [[代码](https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)] - 近端策略优化(裁剪目标)- PPO-Clip [[论文](https://arxiv.org/pdf/1707.06347.pdf)] [[代码](https://github.com/agi-brain/xuance/blob/master/ https://github.com/berkeleydeeprlcourse/homework/tree/master/hw4] - 近端策略优化(KL散度)- PPO-KL [[论文](https://arxiv.org/pdf/1707.06347.pdf)] [[代码](https://github.com/agi-brain/xuance/blob/master/ https://github.com/berkeleydeeprlcourse/homework/tree/master/hw4] - 深度确定性策略梯度 - DDPG [[论文](https://arxiv.org/pdf/1509.02971.pdf)] [[代码](https://github.com/openai/baselines/tree/master/baselines/ddpg)] - 双延迟深度确定性策略梯度 - TD3 [[论文](http://proceedings.mlr.press/v80/fujimoto18a/fujimoto18a.pdf)][[代码](https://github.com/sfujim/TD3)] - 参数化深度Q网络 - P-DQN [[论文](https://arxiv.org/pdf/1810.06394.pdf)] - 多通道参数化深度Q网络 - MP-DQN [[论文](https://arxiv.org/pdf/1905.04388.pdf)] [[代码](https://github.com/cycraig/MP-DQN)] - 分离参数化深度Q网络 - SP-DQN [[论文](https://arxiv.org/pdf/1810.06394.pdf)]

:point_right: 多智能体强化学习 (MARL)

(点击显示支持的MARL算法) - 独立Q学习 - IQL [[论文](https://hal.science/file/index/docid/720669/filename/Matignon2012independent.pdf)] [[代码](https://github.com/oxwhirl/pymarl)] - 值分解网络 - VDN [[论文](https://arxiv.org/pdf/1706.05296.pdf)] [[代码](https://github.com/oxwhirl/pymarl)] - Q混合网络 - QMIX [[论文](http://proceedings.mlr.press/v80/rashid18a/rashid18a.pdf)] [[代码](https://github.com/oxwhirl/pymarl)] - 加权Q混合网络 - WQMIX [[论文](https://proceedings.neurips.cc/paper/2020/file/73a427badebe0e32caa2e1fc7530b7f3-Paper.pdf)] [[代码](https://github.com/oxwhirl/wqmix)] - Q变换 - QTRAN [[论文](http://proceedings.mlr.press/v97/son19a/son19a.pdf)] [[代码](https://github.com/Sonkyunghwan/QTRAN)] - 深度协调图 - DCG [[论文](http://proceedings.mlr.press/v119/boehmer20a/boehmer20a.pdf)] [[代码](https://github.com/wendelinboehmer/dcg)] - 独立深度确定性策略梯度 - IDDPG [[论文](https://proceedings.neurips.cc/paper/2017/file/68a9750337a418a86fe06c1991a1d64c-Paper.pdf)] - 多智能体深度确定性策略梯度 - MADDPG [[论文](https://proceedings.neurips.cc/paper/2017/file/68a9750337a418a86fe06c1991a1d64c-Paper.pdf)] [[代码](https://github.com/openai/maddpg)] - 反事实多智能体策略梯度 - COMA [[论文](https://ojs.aaai.org/index.php/AAAI/article/view/11794)] [[代码](https://github.com/oxwhirl/pymarl)] - 多智能体近端策略优化 - MAPPO [[论文](https://proceedings.neurips.cc/paper_files/paper/2022/file/9c1535a02f0ce079433344e14d910597-Paper-Datasets_and_Benchmarks.pdf)] [[代码](https://github.com/marlbenchmark/on-policy)] - 平均场Q学习 - MFQ [[论文](http://proceedings.mlr.press/v80/yang18d/yang18d.pdf)] [[代码](https://github.com/mlii/mfrl)] - 平均场演员评论家 - MFAC [[论文](http://proceedings.mlr.press/v80/yang18d/yang18d.pdf)] [[代码](https://github.com/mlii/mfrl)] - 独立软演员评论家 - ISAC - 多智能体软演员评论家 - MASAC [[论文](https://arxiv.org/pdf/2104.06655.pdf)] - 多智能体双延迟深度确定性策略梯度 - MATD3 [[论文](https://arxiv.org/pdf/1910.01465.pdf)]

当前支持的环境

经典控制

(点击隐藏)

平衡车

钟摆

杂技机器人

...

Box2D

(点击隐藏)

两足行走器

赛车

月球着陆器

MuJoCo环境

(点击隐藏)

蚂蚁

半猎豹

跳跃者

人形机器人

...

Atari环境

(点击隐藏)

打砖块

拳击

异形

冒险

空袭

...

Minigrid环境

(点击隐藏)

过路

记忆

密室

游乐场

...

无人机环境

XuanCe关于gym-pybullet-drones安装和使用的文档

(点击隐藏)

螺旋

单智能体悬停

多智能体悬停

...

MPE环境

(点击隐藏)

简单推动

简单参考

简单分散

...

Magent2

(点击隐藏)

战斗

虎鹿

战场

...
### [SMAC](https://github.com/oxwhirl/smac)

Google研究足球

:point_right: 安装

:computer: 该库可以在Linux、Windows、MacOS和EulerOS等系统上运行。

在安装XuanCe之前,你应该安装Anaconda来准备Python环境。 (注意:从这里选择合适版本的Anaconda。)

之后,打开终端并按照以下步骤安装XuanCe

步骤1:创建一个新的conda环境(建议Python>=3.7):

conda create -n xuance_env python=3.7

步骤2:激活conda环境:

conda activate xuance_env

步骤3:安装库:

pip install xuance

此命令不包括深度学习工具箱的依赖项。要安装带有深度学习工具的XuanCe,你可以输入pip install xuance[torch]安装PyTorchpip install xuance[tensorflow]安装TensorFlow2pip install xuance[mindspore]安装MindSpore, 以及pip install xuance[all]安装所有依赖项。

注意:一些额外的包需要手动安装以供进一步使用。

:point_right: 快速开始

训练模型

import xuance

runner = xuance.get_runner(method='dqn',
                           env='classic_control',
                           env_id='CartPole-v1',
                           is_test=False)
runner.run()

测试模型

import xuance

runner_test = xuance.get_runner(method='dqn',
                                env='classic_control',
                                env_id='CartPole-v1',
                                is_test=True)
runner_test.run()

可视化结果

Tensorboard

你可以使用Tensorboard来可视化训练过程中发生的情况。训练后,日志文件会自动生成在".results/"目录中,运行以下命令后你应该能看到一些训练数据。

$ tensorboard --logdir ./logs/dqn/torch/CartPole-v0

Weights & Biases (wandb)

XuanCe还支持Weights & Biases (wandb)工具,供用户可视化运行实现的结果。

如何在线使用wandb?:arrow_right: https://github.com/wandb/wandb.git/

如何离线使用wandb?:arrow_right: https://github.com/wandb/server.git/

社区

Github问题

你可以在Issues中提出你的问题、建议或者发现的bug。

社交账号

欢迎加入官方QQ交流群(群号:552432695)和微信公众号("玄策 RLlib")。

(QQ群和微信公众号二维码)

QQ群

公众号(微信)
[@TFBestPractices](https://twitter.com/TFBestPractices/status/1665770204398223361)

引用

@article{liu2023xuance,
  title={XuanCe:一个全面统一的深度强化学习库},
  author={刘文章 and 蔡文哲 and 姜坤 and 程广然 and 王远达 and 王嘉伟 and 曹静宇 and 徐乐乐 and 穆超旭 and 孙长银},
  journal={arXiv预印本 arXiv:2312.16248},
  year={2023}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号