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
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_serial
和 train_parallel
进行的。
这个库通过 [tch] 使用 PyTorch。
依赖项
~31MB
~422K SLoC