3 个版本

0.0.6 2023年9月19日
0.0.5 2022年1月25日
0.0.4 2021年7月18日

#485 in 科学


2 晶格 中使用

MIT/Apache

130KB
2.5K SLoC

Python Gym 环境的包装器。

GymEnv 是基于 PyO3 的 Gym 包装器。它已在一些 经典控制Gymnasium-Robotics 环境上进行测试。

In a past, [`Atari`](https://gym.openai.com/envs/#atari), and
[`PyBullet`](https://github.com/benelot/pybullet-gym) environments were supported.
However, currently they are not tested.

此包装器接受类似数组的观察和动作(Box 空间),以及离散动作。为了与运行 gym 的 Python 解释器交互,GymObsFilterGymActFilter 提供了将 Python 对象(numpy 数组)转换为 Rust 中的 ndarrays 以及反向转换的接口。 GymObsFilterContinuousActFilterDiscreteActFilter 在观察和动作是数组的环境中进行转换。除了 Python 和 Rust 之间的数据转换之外,我们还可以在这些过滤器中实现任意的前处理。例如,FrameStackFilter 保留四个连续的观察帧(图像)并输出这些帧的堆栈。

对于Atari环境,需要一个修改过的atari_wrapper.py版本,并将其放置在PYTHONPATH中。帧堆叠预处理在FrameStackFilter中实现,作为一个GymObsFilter

带有随机控制器的示例(Policy)位于examples目录中。使用border-tch-agents的示例,这些是用tch-rs实现的RL智能体集合,位于这里

依赖项

~33MB
~467K SLoC