Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ra #7

Merged
merged 28 commits into from
Apr 12, 2023
Merged

ra #7

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0a60a0c
Remove unindented test script (#312)
vwxyzjn Nov 5, 2022
19a0907
Update cleanrl-supported-papers-projects.md (#316)
masud99r Nov 8, 2022
c37a3ec
Prepare for v1.0.0 release (#314)
vwxyzjn Nov 14, 2022
c515aef
Fix DQN target update frequency (#323)
qgallouedec Nov 22, 2022
9877c0c
Updated the pip install poetry lines in the docker files to contain -…
LooseTerrifyingSpaceMonkey Nov 28, 2022
cb2b746
Update dqn.md (#329)
qgallouedec Dec 9, 2022
b558b2b
Implement Gymnasium-compliant PPO script (#320)
dtch1997 Dec 13, 2022
2dd73af
Using jax scan for PPO + atari + envpool XLA (#328)
51616 Dec 21, 2022
ad19f23
Fix ppo jax documentation links (#332)
51616 Dec 22, 2022
d67ae0c
chore: simply ppo gae code (#334)
vwxyzjn Dec 28, 2022
639a5ef
update paper link to point to JMLR version (#336)
kinalmehta Dec 30, 2022
3dab404
update dqn-jax docs with CPU experiments (#335)
kinalmehta Dec 30, 2022
67b7f0d
Jax c51 contrib (#224)
kinalmehta Dec 30, 2022
95fcdd7
bug: incorrect logic in GAE calculation (#337)
vwxyzjn Dec 31, 2022
019bff0
Add test cases (#339)
vwxyzjn Jan 2, 2023
3b41901
docs fix for ddpg and td3 to include jax implementation (#341)
kinalmehta Jan 4, 2023
a90742a
Add RPO to CleanRL (#331)
masud99r Jan 4, 2023
94a44b5
Hotfix for #331 (#342)
vwxyzjn Jan 5, 2023
3f5535c
Proper description of v_min and v_max in C51 parser (#343)
qgallouedec Jan 9, 2023
30381ee
Huggingface Integration (#292)
vwxyzjn Jan 12, 2023
c3fc57d
Add SAC-discrete implementation and docs (#270)
timoklein Jan 13, 2023
3728592
fix: lowercase Ba name in pre-commit(#349)
timoklein Jan 13, 2023
d43e70d
Added Polyak update rate for soft DQN target network updates (#347)
manjavacas Jan 16, 2023
d0d6bae
fix pre-commit (#351)
vwxyzjn Jan 16, 2023
2e41da2
Remove stale algorithm reference to `ppo_lstm_memory_env.py` (#357)
vwxyzjn Feb 9, 2023
f5c6cda
Remove unnecessary arg in SAC (#362)
vwxyzjn Mar 26, 2023
f7a9b9f
Better contribution guide (#368)
vwxyzjn Mar 29, 2023
2df24f4
Better requirements.txt docs (#369)
vwxyzjn Mar 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/issue_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

## Checklist
- [ ] I have installed dependencies via `poetry install` (see [CleanRL's installation guideline](https://docs.cleanrl.dev/get-started/installation/).
- [ ] I have checked that there is no similar [issue](https://github.com/vwxyzjn/cleanrl/issues) in the repo (required)
- [ ] I have checked that there is no similar [issue](https://github.com/vwxyzjn/cleanrl/issues) in the repo.
- [ ] I have checked the [documentation site](https://docs.cleanrl.dev/) and found not relevant information in [GitHub issues](https://github.com/vwxyzjn/cleanrl/issues).

## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
Expand Down
29 changes: 15 additions & 14 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,23 @@
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] I've read the [CONTRIBUTION](https://github.com/vwxyzjn/cleanrl/blob/master/CONTRIBUTING.md) guide (**required**).
- [ ] I've read the [CONTRIBUTION](https://docs.cleanrl.dev/contribution/) guide (**required**).
- [ ] I have ensured `pre-commit run --all-files` passes (**required**).
- [ ] I have updated the documentation and previewed the changes via `mkdocs serve`.
- [ ] I have updated the tests accordingly (if applicable).

If you are adding new algorithms or your change could result in performance difference, you may need to (re-)run tracked experiments. See https://github.com/vwxyzjn/cleanrl/pull/137 as an example PR.
- [ ] I have contacted [vwxyzjn](https://github.com/vwxyzjn) to obtain access to the [openrlbenchmark W&B team](https://wandb.ai/openrlbenchmark) (**required**).
- [ ] I have tracked applicable experiments in [openrlbenchmark/cleanrl](https://wandb.ai/openrlbenchmark/cleanrl) with `--capture-video` flag toggled on (**required**).
- [ ] I have added additional documentation and previewed the changes via `mkdocs serve`.
- [ ] I have updated the documentation and previewed the changes via `mkdocs serve`.
- [ ] I have explained note-worthy implementation details.
- [ ] I have explained the logged metrics.
- [ ] I have added links to the original paper and related papers (if applicable).
- [ ] I have added links to the PR related to the algorithm.
- [ ] I have created a table comparing my results against those from reputable sources (i.e., the original paper or other reference implementation).
- [ ] I have added the learning curves (in PNG format with `width=500` and `height=300`).
- [ ] I have added links to the tracked experiments.
- [ ] I have updated the overview sections at the [docs](https://docs.cleanrl.dev/rl-algorithms/overview/) and the [repo](https://github.com/vwxyzjn/cleanrl#overview)
- [ ] I have updated the tests accordingly (if applicable).
- [ ] I have added links to the original paper and related papers.

If you need to run benchmark experiments for a performance-impacting changes:

- [ ] I have contacted @vwxyzjn to obtain access to the [openrlbenchmark W&B team](https://wandb.ai/openrlbenchmark).
- [ ] I have used the [benchmark utility](/get-started/benchmark-utility/) to submit the tracked experiments to the [openrlbenchmark/cleanrl](https://wandb.ai/openrlbenchmark/cleanrl) W&B project, optionally with `--capture-video`.
- [ ] I have performed RLops with `python -m openrlbenchmark.rlops`.
- For new feature or bug fix:
- [ ] I have used the RLops utility to understand the performance impact of the changes and confirmed there is no regression.
- For new algorithm:
- [ ] I have created a table comparing my results against those from reputable sources (i.e., the original paper or other reference implementation).
- [ ] I have added the learning curves generated by the `python -m openrlbenchmark.rlops` utility to the documentation.
- [ ] I have added links to the tracked experiments in W&B, generated by `python -m openrlbenchmark.rlops ....your_args... --report`, to the documentation.

7 changes: 3 additions & 4 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
name: pre-commit

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
push
jobs:
build:
runs-on: ubuntu-latest
Expand All @@ -22,3 +19,5 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- uses: pre-commit/[email protected]
with:
extra_args: --hook-stage manual --all-files
120 changes: 84 additions & 36 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,13 @@ on:
- '**/README.md'
- 'docs/**/*'
- 'cloud/**/*'
pull_request:
paths-ignore:
- '**/README.md'
- 'docs/**/*'
- 'cloud/**/*'
jobs:
test-core-envs:
strategy:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -31,19 +26,22 @@ jobs:

# classic control tests
- name: Install core dependencies
run: poetry install --with pytest
run: poetry install -E pytest
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run core tests
run: poetry run pytest tests/test_classic_control.py
- name: Install jax
if: runner.os == 'Linux' || runner.os == 'macOS'
run: poetry install --with jax
run: poetry install -E "pytest jax"
- name: Run core tests with jax
if: runner.os == 'Linux' || runner.os == 'macOS'
run: poetry run pytest tests/test_classic_control_jax.py
- name: Run gae tests with jax
if: runner.os == 'Linux' || runner.os == 'macOS'
run: poetry run pytest tests/test_jax_compute_gae.py
- name: Install tuner dependencies
run: poetry install --with optuna
run: poetry install -E "pytest optuna"
- name: Run tuner tests
run: poetry run pytest tests/test_tuner.py

Expand All @@ -52,7 +50,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -67,14 +65,14 @@ jobs:

# atari tests
- name: Install atari dependencies
run: poetry install --with pytest,atari
run: poetry install -E "pytest atari"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run atari tests
run: poetry run pytest tests/test_atari.py
- name: Install jax
if: runner.os == 'Linux' || runner.os == 'macOS'
run: poetry install --with jax
run: poetry install -E "pytest atari jax"
- name: Run core tests with jax
if: runner.os == 'Linux' || runner.os == 'macOS'
run: poetry run pytest tests/test_atari_jax.py
Expand All @@ -84,7 +82,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -99,9 +97,9 @@ jobs:

# pybullet tests
- name: Install core dependencies
run: poetry install --with pytest
run: poetry install -E pytest
- name: Install pybullet dependencies
run: poetry install --with pybullet
run: poetry install -E "pytest pybullet"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run pybullet tests
Expand All @@ -112,7 +110,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -127,19 +125,18 @@ jobs:

# procgen tests
- name: Install core dependencies
run: poetry install --with pytest,procgen
run: poetry install -E "pytest procgen"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run pybullet tests
run: poetry run pytest tests/test_procgen.py


test-mujoco-envs:
strategy:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -153,32 +150,83 @@ jobs:
poetry-version: ${{ matrix.poetry-version }}

# mujoco tests
- name: Install core dependencies
run: poetry install --with pytest
- name: Install pybullet dependencies
run: poetry install --with pybullet
- name: Install mujoco dependencies
run: poetry install --with mujoco
- name: Install jax dependencies
run: poetry install --with jax
- name: Install dependencies
run: poetry install -E "pytest mujoco dm_control"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: install mujoco dependencies
run: |
sudo apt-get update && sudo apt-get -y install libgl1-mesa-glx libosmesa6 libglfw3
- name: Run mujoco tests
continue-on-error: true # MUJOCO_GL=osmesa results in `free(): invalid pointer`
run: poetry run pytest tests/test_mujoco.py

test-mujoco-envs-windows-mac:
strategy:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.3]
os: [macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/[email protected]
with:
poetry-version: ${{ matrix.poetry-version }}

# mujoco tests
- name: Install dependencies
run: poetry install -E "pytest mujoco dm_control"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run mujoco tests
run: poetry run pytest tests/test_mujoco.py


test-mujoco_py-envs:
strategy:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.3]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run image
uses: abatilo/[email protected]
with:
poetry-version: ${{ matrix.poetry-version }}

# mujoco_py tests
- name: Install dependencies
run: poetry install -E "pytest pybullet mujoco_py mujoco jax"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: install mujoco_py dependencies
run: |
sudo apt-get update && sudo apt-get -y install wget unzip software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
libglew-dev \
libosmesa6-dev patchelf
- name: Run mujoco tests
run: poetry run pytest tests/test_mujoco.py
- name: Run mujoco_py tests
run: poetry run pytest tests/test_mujoco_py.py

test-envpool-envs:
strategy:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -193,7 +241,7 @@ jobs:

# envpool tests
- name: Install envpool dependencies
run: poetry install --with pytest,envpool,jax
run: poetry install -E "pytest envpool jax"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run envpool tests
Expand All @@ -204,7 +252,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -219,7 +267,7 @@ jobs:

# atari multigpu tests
- name: Install atari dependencies
run: poetry install --with pytest,atari
run: poetry install -E "pytest atari"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run atari tests
Expand All @@ -230,7 +278,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04, macos-latest]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -245,10 +293,10 @@ jobs:

# pettingzoo tests
- name: Install pettingzoo dependencies
run: poetry install --with pytest,pettingzoo,atari
run: poetry install -E "pytest pettingzoo atari"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Install ROMs
run: poetry run AutoROM --accept-license
- name: Run pettingzoo tests
run: poetry run pytest tests/test_pettingzoo_ma_atari.py
run: poetry run pytest tests/test_pettingzoo_ma_atari.py
6 changes: 3 additions & 3 deletions .github/workflows/utils_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
fail-fast: false
matrix:
python-version: [3.8]
poetry-version: [1.2]
poetry-version: [1.3]
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
steps:
Expand All @@ -25,9 +25,9 @@ jobs:
poetry-version: ${{ matrix.poetry-version }}

- name: Install test dependencies
run: poetry install --with pytest
run: poetry install -E pytest
- name: Install cloud dependencies
run: poetry install --with cloud
run: poetry install -E "pytest cloud"
- name: Downgrade setuptools
run: poetry run pip install setuptools==59.5.0
- name: Run utils tests
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
runs
balance_bot.xml
cleanrl/ppo_continuous_action_isaacgym/isaacgym/examples
cleanrl/ppo_continuous_action_isaacgym/isaacgym/isaacgym
Expand Down
4 changes: 2 additions & 2 deletions .gitpod.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ RUN sudo apt-get update && \

# install python dependencies
RUN mkdir cleanrl_utils && touch cleanrl_utils/__init__.py
RUN pip install poetry
RUN pip install poetry --upgrade
RUN poetry config virtualenvs.in-project true

# install mujoco
# install mujoco_py
RUN sudo apt-get -y install wget unzip software-properties-common \
libgl1-mesa-dev \
libgl1-mesa-glx \
Expand Down
Loading