3 个版本
0.0.6 | 2023年9月19日 |
---|---|
0.0.5 | 2022年1月25日 |
0.0.4 | 2021年7月18日 |
#485 in 科学
在 2 晶格 中使用
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 解释器交互,GymObsFilter
和 GymActFilter
提供了将 Python 对象(numpy 数组)转换为 Rust 中的 ndarrays 以及反向转换的接口。 GymObsFilter
、ContinuousActFilter
和 DiscreteActFilter
在观察和动作是数组的环境中进行转换。除了 Python 和 Rust 之间的数据转换之外,我们还可以在这些过滤器中实现任意的前处理。例如,FrameStackFilter
保留四个连续的观察帧(图像)并输出这些帧的堆栈。
对于Atari环境,需要一个修改过的atari_wrapper.py
版本,并将其放置在PYTHONPATH
中。帧堆叠预处理在FrameStackFilter
中实现,作为一个GymObsFilter
。
带有随机控制器的示例(Policy
)位于examples
目录中。使用border-tch-agents
的示例,这些是用tch-rs实现的RL智能体集合,位于这里。
依赖项
~33MB
~467K SLoC