易于使用的强化学习图书馆

rlberr的Python项目详细描述


SectionDescription
GoalsThe philosophy of ^{}
InstallationHow to install ^{}
Getting startedA quick usage guide of ^{}
DocumentationA link to the documentation
ContributingA guide for contributing
CitationHow to cite this work

目标

  • 为每个实现的算法编写详细的文档和可理解的教程/示例(Jupyter笔记本)。在

  • 为代理提供一个通用接口

    • 对代理代码施加最小限制(=>;使其易于包含新算法和修改现有算法)

    • 允许使用简单和统一的评估接口在代理之间进行比较(=>;使之更容易比较deep和“传统”RL算法)。在

  • 统一种子机制:只定义一个全局种子,所有其他种子都将从中继承,增强随机数生成器的独立性。在

  • 用于创建和呈现新环境的简单界面。在

安装

克隆和创建虚拟环境

建议使用Python或Miniconda创建虚拟环境:

git clone https://github.com/rlberry-py/rlberry.git
conda create -n rlberry python=3.7

基本安装

安装时不要使用繁重的库(例如Pythorch)。在

^{pr2}$

完全安装

安装所有功能

conda activate rlberry
pip install -e .[full]

其中包括:

  • ^{}基于动态规划的实时算法编译
  • ^{}对于深层RL代理
  • ^{}对于超参数优化
  • ^{}用于保存视频
  • ^{}获取更多呈现选项。在

入门

测试

要运行测试,请使用pip install -e .[test]安装测试依赖项,然后运行pytest。要运行覆盖率测试,请安装测试依赖项并运行bash run_testscov.sh。参见cov_html/index.html中的覆盖率报告。在

文件

贡献

想为rlberry捐款吗?请检查our contribution guidelines。一份有趣的待办事项清单很快就会出来。如果要添加任何新的代理或环境,请不要犹豫open an issue

实施说明

  • Agent类继承时,确保在基类中添加新功能时使用**kwargs调用{},并确保{}和{}始终是任何代理的选项。在

  • 代理中冗长的约定:

    • verbose=0:不打印任何内容
    • verbose>1:打印进度消息

使用logging库打印错误和警告。在

引用rlberry

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中超类的构造函数中获取扩展泛型类的泛型类型?   java如何获取实体A的不同记录,该实体A与另一个实体B有一对多的关联,并按B记录的最新时间戳的最大值排序   JavaJSF导航参数依赖关系   具有短密文的java SecretKey匿名IBE   鼠标事件“找不到符号”错误的java解决方案   调用mediaplayer后使用java。停止我不能再发出声音了。为我解释开发参考?   java如何在序列化Avro消息时传递空值   java Sip Servlet未发送邀请请求   java根据规则访问节点,并删除链表中所有未访问的节点   Java 6上的jmockit测试用例必须使用Java代理吗?   JSF转换器f:convertDateTime是如何工作的?   java如何清除Firebase云数据库中的数组?   基于日期的列表java自定义排序   测量Java对象的内存消耗(完全“在应用程序中”)   故障终止/崩溃时的javafx Java(FX)故障保护警报?   java访问名称编码未知的文件   java如何在BlackBerry中绘制实心正方形?   java从JTextArea中删除边框   java可以使用另一个bean的属性来引用spring容器XML配置   数据透视表中具有相同列索引的java计数列