The following directories contain example scripts.
* `gym` - Classic control environments in [Gymnasium](https://gymnasium.farama.org) based on [border-py-gym-env](https://crates.io/crates/border-py-gym-env).
* `gym-robotics` - A robotic environment (fetch-reach) in [Gymnasium-Robotics](https://robotics.farama.org/) based on [border-py-gym-env](https://crates.io/crates/border-py-gym-env).
* `mujoco` - Mujoco environments in [Gymnasium](https://gymnasium.farama.org) based on [border-py-gym-env](https://crates.io/crates/border-py-gym-env).
* `atari` - Atari environments based on [border-atari-env](https://crates.io/crates/border-atari-env) is a wrapper of [atari-env](https://crates.io/crates/atari-env), which is a part of [gym-rs](https://crates.io/crates/gym-rs).
## Gym
You may need to set PYTHONPATH as `PYTHONPATH=./border-py-gym-env/examples`.
### Random policy
```bash
cargo run --example random_cartpole
```
```bash
cargo run --example random_lunarlander_cont
```
```bash
cargo run --example random_ant
```
### DQN
```bash
cargo run --example dqn_cartpole --features="tch"
```
### SAC
```bash
cargo run --example sac_pendulum --features="tch"
```
```bash
cargo run --example sac_lunarlander_cont --features="tch"
```
## Gym, Mujoco
### SAC
```bash
cargo run --example sac_ant --features="tch"
```
```bash
cargo run --example sac_ant_async --features="tch,border-async-trainer"
```
## Atari
See atari subdirectory.
* Random policy
```bash
cargo run --example random_pong
```
* DQN Pong
```bash
cargo run --release --example dqn_atari_rs --features=tch -- pong
```
* DQN Pong Asynchronous trainer
```bash
cargo run --release --example dqn_atari_async --features="tch,border-async-trainer" -- pong
```
* DQN Asterix Asynchronous trainer
```bash
cargo run --release --example dqn_atari_async --features="tch,border-async-trainer" -- asterix
```
* DDQN Asterix Asynchronous trainer
```bash
cargo run --release --example dqn_atari_async --features="tch,border-async-trainer" -- asterix --ddqn
```