6 个版本

0.3.1 2022年7月30日
0.3.0 2022年7月30日
0.2.0 2022年3月22日
0.1.2 2021年10月7日

机器学习 中排名第 497

每月下载量 22
用于 relearn_derive

LGPL-3.0-only

1MB
22K SLoC

ReLearn:强化学习库

强化学习库和实验运行器。通过 tch 接口使用 pytorch 作为神经网络后端。

目前,该库是为个人使用而设计的。它处于开发中且不稳定,因此更新时可能会出现破坏性更改。

请参阅 https://docs.rs/relearn 中的文档。

示例

使用表格 Q 学习的链式环境

cargo run --release --example chain-tabular-q

该环境具有无限长的剧集。

Cart-Pole 使用信任域策略优化

cargo run --release --example cartpole-trpo

cargo run --release --example cartpole-trpo data/cartpole-trpo/<time>/actor.cbor

使用前馈 MLP 作为策略,并使用单独的 MLP 作为评论家(基线)。显示的统计信息也保存到 data/cartpole-trpo/,并可以使用 tensorboard --logdir data/cartpole-trpo 查看。


lib.rs:

强化学习库。

该库定义了一组 环境学习代理,并模拟它们的交互。

环境实现 Environment 特性,该特性具有关联的观察、动作和状态类型。代理实现 Agent,并提供了根据环境观察生成动作的 Actors。代理可以通过 BatchUpdate 特性进行学习。

代理特性对环境的观察(O)和动作(A)类型是泛型的。通过 Space 特性,EnvStructure 特性提供了更多关于这些类型可能值的详细信息。可以认为 Space 是一个在运行时定义的类型,描述了一组可能的值,而方法则由 spaces 中的其他特性提供。

环境-参与者模拟通过 步骤 进行,生成的 步骤 可以通过一个 迭代器 接口访问。训练是通过 train_serialtrain_parallel 进行的。

这个库通过 [tch] 使用 PyTorch

依赖项

~31MB
~422K SLoC