forked from pytorch/rl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Feature] RoboHive integration (pytorch#1119)
- Loading branch information
Showing
15 changed files
with
1,039 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28 changes: 28 additions & 0 deletions
28
.circleci/unittest/linux_libs/scripts_robohive/environment.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
channels: | ||
- pytorch | ||
- defaults | ||
dependencies: | ||
- pip | ||
- protobuf | ||
- pip: | ||
# Initial version is required to install Atari ROMS in setup_env.sh | ||
- gym==0.13 | ||
- hypothesis | ||
- future | ||
- cloudpickle | ||
- pygame | ||
- moviepy | ||
- tqdm | ||
- pytest | ||
- pytest-cov | ||
- pytest-mock | ||
- pytest-instafail | ||
- pytest-rerunfailures | ||
- pytest-error-for-skips | ||
- expecttest | ||
- pyyaml | ||
- scipy | ||
- hydra-core | ||
- patchelf | ||
- mujoco==2.3.3 | ||
- dm_control==1.0.11 |
88 changes: 88 additions & 0 deletions
88
.circleci/unittest/linux_libs/scripts_robohive/install_and_run_test.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
#!/usr/bin/env bash | ||
|
||
unset PYTORCH_VERSION | ||
# For unittest, nightly PyTorch is used as the following section, | ||
# so no need to set PYTORCH_VERSION. | ||
# In fact, keeping PYTORCH_VERSION forces us to hardcode PyTorch version in config. | ||
apt-get update && apt-get install -y git wget libglew-dev libx11-dev x11proto-dev g++ gcc libosmesa6-dev | ||
|
||
set -e | ||
set -v | ||
|
||
eval "$(./conda/bin/conda shell.bash hook)" | ||
conda activate ./env | ||
|
||
#apt-get update -y && apt-get install git wget gcc g++ -y | ||
|
||
if [ "${CU_VERSION:-}" == cpu ] ; then | ||
cudatoolkit="cpuonly" | ||
version="cpu" | ||
else | ||
if [[ ${#CU_VERSION} -eq 4 ]]; then | ||
CUDA_VERSION="${CU_VERSION:2:1}.${CU_VERSION:3:1}" | ||
elif [[ ${#CU_VERSION} -eq 5 ]]; then | ||
CUDA_VERSION="${CU_VERSION:2:2}.${CU_VERSION:4:1}" | ||
fi | ||
echo "Using CUDA $CUDA_VERSION as determined by CU_VERSION ($CU_VERSION)" | ||
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")" | ||
cudatoolkit="cudatoolkit=${version}" | ||
fi | ||
|
||
case "$(uname -s)" in | ||
Darwin*) os=MacOSX;; | ||
*) os=Linux | ||
esac | ||
|
||
# submodules | ||
git submodule sync && git submodule update --init --recursive | ||
|
||
printf "Installing PyTorch with %s\n" "${CU_VERSION}" | ||
if [ "${CU_VERSION:-}" == cpu ] ; then | ||
# conda install -y pytorch torchvision cpuonly -c pytorch-nightly | ||
# use pip to install pytorch as conda can frequently pick older release | ||
# conda install -y pytorch cpuonly -c pytorch-nightly | ||
pip3 install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cpu --force-reinstall | ||
else | ||
pip3 install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cu116 --force-reinstall | ||
fi | ||
|
||
# install tensordict | ||
pip install git+https://github.com/pytorch-labs/tensordict.git | ||
|
||
# smoke test | ||
python -c "import tensordict" | ||
|
||
printf "* Installing torchrl\n" | ||
python setup.py develop | ||
python -c "import torchrl" | ||
|
||
# Extracted from run_test.sh to run once. | ||
|
||
export PYTORCH_TEST_WITH_SLOW='1' | ||
python -m torch.utils.collect_env | ||
# Avoid error: "fatal: unsafe repository" | ||
git config --global --add safe.directory '*' | ||
|
||
root_dir="$(git rev-parse --show-toplevel)" | ||
env_dir="${root_dir}/env" | ||
lib_dir="${env_dir}/lib" | ||
|
||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$lib_dir | ||
export MKL_THREADING_LAYER=GNU | ||
|
||
python .circleci/unittest/helpers/coverage_run_parallel.py -m pytest test/smoke_test.py -v --durations 20 | ||
|
||
# let's make sure we have a GPU at our disposal | ||
python -c """ | ||
import torch | ||
devcount = torch.cuda.device_count() | ||
assert devcount | ||
print('device count', devcount) | ||
""" | ||
|
||
echo $MUJOCO_GL | ||
echo $sim_backend | ||
|
||
sim_backend=MUJOCO MUJOCO_GL=egl python .circleci/unittest/helpers/coverage_run_parallel.py -m pytest test/test_libs.py --instafail -v --durations 20 -k "robohive" --error-for-skips | ||
coverage combine | ||
coverage xml -i |
6 changes: 6 additions & 0 deletions
6
.circleci/unittest/linux_libs/scripts_robohive/post_process.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
eval "$(./conda/bin/conda shell.bash hook)" | ||
conda activate ./env |
Oops, something went wrong.