You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+49-6Lines changed: 49 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,19 +7,56 @@ Paired with environments that support JIT, high performance is possible using th
7
7
8
8
I'm working on this in my free time, so it may take a while to get to a usable state. I'm also mainly developing this for personal research, so it may not be suitable for all use cases.
9
9
10
-
## Code Style
11
-
12
-
This code is written to follow the [Equinox's abstract/final pattern](https://docs.kidger.site/equinox/pattern/) for code structure and [Black formatting](https://black.readthedocs.io/en/stable/index.html#).
13
-
This is intended to make the code more readable and maintainable, and to ensure that it is consistent with the Equinox library.
14
-
If you want to contribute, please follow these conventions.
15
-
16
10
## Credit
17
11
18
12
A ton of the code is a slight translation of the code found in the [Stable Baselines 3](https://github.com/DLR-RM/stable-baselines3) and [Gymnasium](https://github.com/Farama-Foundation/Gymnasium) libraries which are both under the MIT license.
19
13
The developers of these excellent libraries have done a great job of creating a solid foundation for reinforcement learning in Python, and I have learned a lot from their code.
20
14
21
15
In addition, the NDE code is heavily inspired by the work of [Patrick Kidger](https://kidger.site/publications/) and the entire library is based on his excellent [Equinox library](https://github.com/patrick-kidger/equinox) along with some use of [Diffrax](https://github.com/patrick-kidger/diffrax) and [jaxtyping](https://github.com/patrick-kidger/jaxtyping).
Then open your browser to `http://localhost:6006`.
52
+
53
+
### Creating your own models and environments
54
+
55
+
Check out the [MLP Actor Critic](lerax/policy/mlp_actor_critic.py) for a simple example of how to create your own actor critic model.
56
+
Check out the [PPO example](examples/ppo.py) for how to use your model in training.
57
+
Check out the [CartPole environment](lerax/env/cartpole.py) for how to create your own environment.
58
+
Check out the [Gymnasium wrapper](lerax/compatibility/gym.py) for how to wrap Gymnasium environments (this will be slower to run than a fully Jax environment).
59
+
23
60
## TODO
24
61
25
62
- Expand support beyond Box and Discrete spaces
@@ -44,3 +81,9 @@ In addition, the NDE code is heavily inspired by the work of [Patrick Kidger](ht
44
81
- Rendering support
45
82
- Expand RL variants to include more algorithms
46
83
- Create a more comprehensive set of environments
84
+
85
+
## Code Style
86
+
87
+
This code is written to follow the [Equinox's abstract/final pattern](https://docs.kidger.site/equinox/pattern/) for code structure and [Black formatting](https://black.readthedocs.io/en/stable/index.html#).
88
+
This is intended to make the code more readable and maintainable, and to ensure that it is consistent with the Equinox library.
89
+
If you want to contribute, please follow these conventions.
0 commit comments