From ea750e7eee9581aada500260f1082be0d194ba5c Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Mon, 27 Nov 2023 19:20:57 +0800 Subject: [PATCH 01/11] Fix getting latest github release version number Reference: https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c#gistcomment-2649739 Full error message: > [4/16] RUN apt-get install -y curl grep sed dpkg && TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o "/v.*"" | sed 's:^..\(.*\).$:\1:'` && curl -L "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" > tini.deb && dpkg -i tini.deb && rm tini.deb && apt-get clean && rm -rf /var/lib/apt/lists/*: # 13 10.49 Unpacking curl (7.58.0-2ubuntu3.24) ... # 13 11.16 Setting up libcurl4:amd64 (7.58.0-2ubuntu3.24) ... # 13 11.56 Setting up curl (7.58.0-2ubuntu3.24) ... # 13 11.96 Processing triggers for libc-bin (2.27-3ubuntu1.5) ... 100 9 0 9 0 0 25 0 --:--:-- --:--:-- --:--:-- 25 # 13 13.38 dpkg-deb: error: 'tini.deb' is not a Debian format archive # 13 13.38 dpkg: error processing archive tini.deb (--install): # 13 13.38 dpkg-deb --control subprocess returned error exit status 2 # 13 13.55 Errors were encountered while processing: # 13 13.55 tini.deb ------ ERROR: failed to solve: process "/bin/bash -c apt-get install -y curl grep sed dpkg && TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o \"/v.*\\\"\" | sed 's:^..\\(.*\\).$:\\1:'` && curl -L \"https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb\" > tini.deb && dpkg -i tini.deb && rm tini.deb && apt-get clean && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 1 Note that an extra space is added after the pound symbol `#` in the error message to prevent github linking issues. --- docker/Dockerfile.softlearning.base.cpu | 4 ++-- docker/Dockerfile.softlearning.base.gpu | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile.softlearning.base.cpu b/docker/Dockerfile.softlearning.base.cpu index 5f3c9fc94..7a9ed5938 100644 --- a/docker/Dockerfile.softlearning.base.cpu +++ b/docker/Dockerfile.softlearning.base.cpu @@ -51,8 +51,8 @@ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86 echo ". /opt/conda/etc/profile.d/conda.sh" >> /etc/bash.bashrc RUN apt-get install -y curl grep sed dpkg && \ - TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o "/v.*\"" | sed 's:^..\(.*\).$:\1:'` && \ - curl -L "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" > tini.deb && \ + TINI_VERSION=`curl https://api.github.com/repos/krallin/tini/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'` && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini_${TINI_VERSION:1}.deb" > tini.deb && \ dpkg -i tini.deb && \ rm tini.deb && \ apt-get clean \ diff --git a/docker/Dockerfile.softlearning.base.gpu b/docker/Dockerfile.softlearning.base.gpu index 226345c4b..186683359 100644 --- a/docker/Dockerfile.softlearning.base.gpu +++ b/docker/Dockerfile.softlearning.base.gpu @@ -58,8 +58,8 @@ RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86 echo ". /opt/conda/etc/profile.d/conda.sh" >> /etc/bash.bashrc RUN apt-get install -y curl grep sed dpkg && \ - TINI_VERSION=`curl https://github.com/krallin/tini/releases/latest | grep -o "/v.*\"" | sed 's:^..\(.*\).$:\1:'` && \ - curl -L "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" > tini.deb && \ + TINI_VERSION=`curl https://api.github.com/repos/krallin/tini/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'` && \ + curl -L "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini_${TINI_VERSION:1}.deb" > tini.deb && \ dpkg -i tini.deb && \ rm tini.deb && \ apt-get clean \ From a529513c59eaed70286a5c5edeb7bc1b2d83b2a1 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Tue, 28 Nov 2023 14:11:02 +0800 Subject: [PATCH 02/11] Fix pip install conda error Error message for `conda`: Pip subprocess error: ERROR: Ignored the following yanked versions: 3.0.6, 3.5.0, 3.7.0, 3.17.0, 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.7, 4.0.8, 4.0.9, 4.1.2, 4.1.6, 4.2.6, 4.2.7, 4.3.13, 4.3.16 ERROR: Could not find a version that satisfies the requirement conda==4.9.2 (from versions: none) ERROR: No matching distribution found for conda==4.9.2 failed CondaEnvException: Pip failed Error message for `conda-package-handling`: Pip subprocess error: ERROR: Could not find a version that satisfies the requirement conda-package-handling==1.7.2 (from versions: 2.1.0, 2.2.0) ERROR: No matching distribution found for conda-package-handling==1.7.2 failed CondaEnvException: Pip failed --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 035cd8865..ad8423a30 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,8 +17,6 @@ click==7.1.2 cloudpickle==1.6.0 colorama==0.4.4 colorful==0.5.4 -conda==4.9.2 -conda-package-handling==1.7.2 cryptography==3.3.2 cycler==0.10.0 Cython==0.29.21 From 47d28e5a45508b3be080339a9ddf88ccce0a2cc1 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 13:34:29 +0800 Subject: [PATCH 03/11] Fix gym installation issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reference: https://stackoverflow.com/a/77205046 Full error message: # 23 [12/14] RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt conda env update -f /tmp/environment.yml && conda clean --all -y # 23 1.237 Channels: # 23 1.237 - defaults # 23 1.237 - conda-forge # 23 1.237 Platform: linux-64 # 23 1.237 Collecting package metadata (repodata.json): ...working... done # 23 28.13 Solving environment: ...working... done # 23 40.46 # 23 40.46 Downloading and Extracting Packages: ...working... done # 23 40.46 Preparing transaction: ...working... done # 23 46.63 Verifying transaction: ...working... done # 23 59.13 Executing transaction: ...working... done # 23 337.4 Installing pip dependencies: ...working... Ran pip subprocess with arguments: # 23 375.7 ['/opt/conda/envs/softlearning/bin/python', '-m', 'pip', 'install', '-U', '-r', '/tmp/condaenv.y5xakg6o.requirements.txt', '--exists-action=b'] # 23 375.7 Pip subprocess output: # 23 375.7 Collecting absl-py==0.11.0 (from -r /tmp/./requirements.txt (line 1)) # 23 375.7 Downloading absl_py-0.11.0-py3-none-any.whl (127 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.8/127.8 kB 79.5 kB/s eta 0:00:00 # 23 375.7 Collecting aiohttp==3.7.4 (from -r /tmp/./requirements.txt (line 2)) # 23 375.7 Downloading aiohttp-3.7.4-cp38-cp38-manylinux2014_x86_64.whl (1.5 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 5.2 MB/s eta 0:00:00 # 23 375.7 Collecting aiohttp-cors==0.7.0 (from -r /tmp/./requirements.txt (line 3)) # 23 375.7 Downloading aiohttp_cors-0.7.0-py3-none-any.whl (27 kB) # 23 375.7 Collecting aioredis==1.3.1 (from -r /tmp/./requirements.txt (line 4)) # 23 375.7 Downloading aioredis-1.3.1-py3-none-any.whl (65 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.3/65.3 kB 429.5 kB/s eta 0:00:00 # 23 375.7 Collecting appnope==0.1.2 (from -r /tmp/./requirements.txt (line 5)) # 23 375.7 Downloading appnope-0.1.2-py2.py3-none-any.whl (4.3 kB) # 23 375.7 Collecting astunparse==1.6.3 (from -r /tmp/./requirements.txt (line 6)) # 23 375.7 Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB) # 23 375.7 Collecting async-timeout==3.0.1 (from -r /tmp/./requirements.txt (line 7)) # 23 375.7 Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB) # 23 375.7 Collecting attrs==20.3.0 (from -r /tmp/./requirements.txt (line 8)) # 23 375.7 Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.3/49.3 kB 385.4 kB/s eta 0:00:00 # 23 375.7 Collecting backcall==0.2.0 (from -r /tmp/./requirements.txt (line 9)) # 23 375.7 Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) # 23 375.7 Collecting blessings==1.7 (from -r /tmp/./requirements.txt (line 10)) # 23 375.7 Downloading blessings-1.7-py3-none-any.whl (18 kB) # 23 375.7 Collecting brotlipy==0.7.0 (from -r /tmp/./requirements.txt (line 11)) # 23 375.7 Downloading brotlipy-0.7.0-cp38-cp38-manylinux1_x86_64.whl (1.1 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 5.0 MB/s eta 0:00:00 # 23 375.7 Collecting cachetools==4.2.0 (from -r /tmp/./requirements.txt (line 12)) # 23 375.7 Downloading cachetools-4.2.0-py3-none-any.whl (12 kB) # 23 375.7 Collecting certifi==2020.12.5 (from -r /tmp/./requirements.txt (line 13)) # 23 375.7 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.5/147.5 kB 920.2 kB/s eta 0:00:00 # 23 375.7 Collecting cffi==1.14.4 (from -r /tmp/./requirements.txt (line 14)) # 23 375.7 Downloading cffi-1.14.4-cp38-cp38-manylinux1_x86_64.whl (411 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 411.1/411.1 kB 2.4 MB/s eta 0:00:00 # 23 375.7 Collecting chardet==3.0.4 (from -r /tmp/./requirements.txt (line 15)) # 23 375.7 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 kB 1.1 MB/s eta 0:00:00 # 23 375.7 Collecting click==7.1.2 (from -r /tmp/./requirements.txt (line 16)) # 23 375.7 Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.8/82.8 kB 724.3 kB/s eta 0:00:00 # 23 375.7 Collecting cloudpickle==1.6.0 (from -r /tmp/./requirements.txt (line 17)) # 23 375.7 Downloading cloudpickle-1.6.0-py3-none-any.whl (23 kB) # 23 375.7 Collecting colorama==0.4.4 (from -r /tmp/./requirements.txt (line 18)) # 23 375.7 Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB) # 23 375.7 Collecting colorful==0.5.4 (from -r /tmp/./requirements.txt (line 19)) # 23 375.7 Downloading colorful-0.5.4-py2.py3-none-any.whl (201 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 202.0/202.0 kB 1.4 MB/s eta 0:00:00 # 23 375.7 Collecting cryptography==3.3.2 (from -r /tmp/./requirements.txt (line 20)) # 23 375.7 Downloading cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl (2.6 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 2.8 MB/s eta 0:00:00 # 23 375.7 Collecting cycler==0.10.0 (from -r /tmp/./requirements.txt (line 21)) # 23 375.7 Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) # 23 375.7 Collecting Cython==0.29.21 (from -r /tmp/./requirements.txt (line 22)) # 23 375.7 Downloading Cython-0.29.21-cp38-cp38-manylinux1_x86_64.whl (1.9 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 1.5 MB/s eta 0:00:00 # 23 375.7 Collecting decorator==4.4.2 (from -r /tmp/./requirements.txt (line 23)) # 23 375.7 Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) # 23 375.7 Collecting dm-control==0.0.322773188 (from -r /tmp/./requirements.txt (line 24)) # 23 375.7 Downloading dm_control-0.0.322773188-py3-none-any.whl (18.6 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.6/18.6 MB 2.3 MB/s eta 0:00:00 # 23 375.7 Collecting dm-env==1.3 (from -r /tmp/./requirements.txt (line 25)) # 23 375.7 Downloading dm_env-1.3-py3-none-any.whl (24 kB) # 23 375.7 Collecting dm-tree==0.1.5 (from -r /tmp/./requirements.txt (line 26)) # 23 375.7 Downloading dm_tree-0.1.5-cp38-cp38-manylinux2014_x86_64.whl (91 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 91.6/91.6 kB 1.1 MB/s eta 0:00:00 # 23 375.7 Collecting fasteners==0.16 (from -r /tmp/./requirements.txt (line 27)) # 23 375.7 Downloading fasteners-0.16-py2.py3-none-any.whl (28 kB) # 23 375.7 Collecting filelock==3.0.12 (from -r /tmp/./requirements.txt (line 28)) # 23 375.7 Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB) # 23 375.7 Collecting flatbuffers==1.12 (from -r /tmp/./requirements.txt (line 29)) # 23 375.7 Downloading flatbuffers-1.12-py2.py3-none-any.whl (15 kB) # 23 375.7 Collecting future==0.18.2 (from -r /tmp/./requirements.txt (line 30)) # 23 375.7 Downloading future-0.18.2.tar.gz (829 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 829.2/829.2 kB 4.9 MB/s eta 0:00:00 # 23 375.7 Preparing metadata (setup.py): started # 23 375.7 Preparing metadata (setup.py): finished with status 'done' # 23 375.7 Collecting gast==0.3.3 (from -r /tmp/./requirements.txt (line 31)) # 23 375.7 Downloading gast-0.3.3-py2.py3-none-any.whl (9.7 kB) # 23 375.7 Collecting gitdb==4.0.5 (from -r /tmp/./requirements.txt (line 32)) # 23 375.7 Downloading gitdb-4.0.5-py3-none-any.whl (63 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 kB 438.3 kB/s eta 0:00:00 # 23 375.7 Collecting GitPython==3.1.12 (from -r /tmp/./requirements.txt (line 33)) # 23 375.7 Downloading GitPython-3.1.12-py3-none-any.whl (159 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.5/159.5 kB 1.2 MB/s eta 0:00:00 # 23 375.7 Collecting glfw==2.0.0 (from -r /tmp/./requirements.txt (line 34)) # 23 375.7 Downloading glfw-2.0.0-py2.py27.py3.py30.py31.py32.py33.py34.py35.py36.py37.py38-none-manylinux2014_x86_64.whl (203 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.9/203.9 kB 168.7 kB/s eta 0:00:00 # 23 375.7 Collecting google-api-core==1.25.0 (from -r /tmp/./requirements.txt (line 35)) # 23 375.7 Downloading google_api_core-1.25.0-py2.py3-none-any.whl (92 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.3/92.3 kB 592.3 kB/s eta 0:00:00 # 23 375.7 Collecting google-auth==1.24.0 (from -r /tmp/./requirements.txt (line 36)) # 23 375.7 Downloading google_auth-1.24.0-py2.py3-none-any.whl (114 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.7/114.7 kB 810.5 kB/s eta 0:00:00 # 23 375.7 Collecting google-auth-oauthlib==0.4.2 (from -r /tmp/./requirements.txt (line 37)) # 23 375.7 Downloading google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB) # 23 375.7 Collecting google-pasta==0.2.0 (from -r /tmp/./requirements.txt (line 38)) # 23 375.7 Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 kB 403.6 kB/s eta 0:00:00 # 23 375.7 Collecting googleapis-common-protos==1.52.0 (from -r /tmp/./requirements.txt (line 39)) # 23 375.7 Downloading googleapis_common_protos-1.52.0-py2.py3-none-any.whl (100 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.2/100.2 kB 616.4 kB/s eta 0:00:00 # 23 375.7 Collecting gpustat==0.6.0 (from -r /tmp/./requirements.txt (line 40)) # 23 375.7 Downloading gpustat-0.6.0.tar.gz (78 kB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 482.5 kB/s eta 0:00:00 # 23 375.7 Preparing metadata (setup.py): started # 23 375.7 Preparing metadata (setup.py): finished with status 'done' # 23 375.7 Collecting grpcio==1.32.0 (from -r /tmp/./requirements.txt (line 41)) # 23 375.7 Downloading grpcio-1.32.0-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 2.7 MB/s eta 0:00:00 # 23 375.7 Collecting gtimer==1.0.0b5 (from -r /tmp/./requirements.txt (line 42)) # 23 375.7 Downloading gtimer-1.0.0b5.tar.gz (23 kB) # 23 375.7 Preparing metadata (setup.py): started # 23 375.7 Preparing metadata (setup.py): finished with status 'done' # 23 375.7 Collecting gym==0.18.0 (from -r /tmp/./requirements.txt (line 43)) # 23 375.7 Downloading gym-0.18.0.tar.gz (1.6 MB) # 23 375.7 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 5.4 MB/s eta 0:00:00 # 23 375.7 Preparing metadata (setup.py): started # 23 375.7 Preparing metadata (setup.py): finished with status 'error' # 23 375.7 Pip subprocess error: # 23 375.7 error: subprocess-exited-with-error # 23 375.7 # 23 375.7 × python setup.py egg_info did not run successfully. # 23 375.7 │ exit code: 1 # 23 375.7 ╰─> [1 lines of output] # 23 375.7 error in gym setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers. # 23 375.7 [end of output] # 23 375.7 # 23 375.7 note: This error originates from a subprocess, and is likely not a problem with pip. # 23 375.7 error: metadata-generation-failed # 23 375.7 # 23 375.7 × Encountered error while generating package metadata. # 23 375.7 ╰─> See above for output. # 23 375.7 # 23 375.7 note: This is an issue with the package mentioned above, not pip. # 23 375.7 hint: See above for details. # 23 375.7 # 23 375.7 # 23 375.7 failed # 23 375.7 # 23 375.7 CondaEnvException: Pip failed # 23 375.7 # 23 ERROR: process "/bin/bash -c conda env update -f /tmp/environment.yml && conda clean --all -y" did not complete successfully: exit code: 1 ------ > [12/14] RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt conda env update -f /tmp/environment.yml && conda clean --all -y: # 23 375.7 ╰─> See above for output. # 23 375.7 # 23 375.7 note: This is an issue with the package mentioned above, not pip. # 23 375.7 hint: See above for details. # 23 375.7 # 23 375.7 # 23 375.7 failed # 23 375.7 # 23 375.7 CondaEnvException: Pip failed # 23 375.7 ------ ERROR: failed to solve: process "/bin/bash -c conda env update -f /tmp/environment.yml && conda clean --all -y" did not complete successfully: exit code: 1 Note that an extra space is added after the pound symbol `#` in the error message to prevent github linking issues. --- docker/Dockerfile.softlearning.base.cpu | 3 +++ requirements.txt | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.softlearning.base.cpu b/docker/Dockerfile.softlearning.base.cpu index 7a9ed5938..35eda83f0 100644 --- a/docker/Dockerfile.softlearning.base.cpu +++ b/docker/Dockerfile.softlearning.base.cpu @@ -133,6 +133,9 @@ COPY ./requirements.txt /tmp/ RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt \ conda env update -f /tmp/environment.yml \ && conda clean --all -y +RUN source activate softlearning \ + && pip install setuptools==65.5.0 wheel==0.38.0 \ + && pip install gym==0.18.0 RUN echo "conda activate softlearning" >> ~/.bashrc \ && echo "cd ~/softlearning" >> ~/.bashrc diff --git a/requirements.txt b/requirements.txt index ad8423a30..532c68194 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,7 +40,6 @@ googleapis-common-protos==1.52.0 gpustat==0.6.0 grpcio==1.32.0 gtimer==1.0.0b5 -gym==0.18.0 h5py==2.10.0 hiredis==1.1.0 idna==2.10 From 4681fc5b8c58cad95716502d4dc66d5282626f78 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 15:25:17 +0800 Subject: [PATCH 04/11] Fix mujoco-py cython compilation error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The following reference suggests solving with `pip install "cython<3"`, but the fix doesn't work for me. Reference: https://github.com/openai/mujoco-py/issues/773#issuecomment-1639684035 Before commit a01fd32, an earlier version of mujoco-py was used, specifically mujoco-py==2.0.2.10. This error seems to be resolved by using this earlier version. This is the latest version that can be successfully installed, as mujoco-py==2.0.2.11 also reports the same error. References: - https://github.com/rail-berkeley/softlearning/commit/a01fd32b9ef80d875543a49673b7c2b0be516c74 - https://pypi.org/project/mujoco-py/#history Full error message: # 21 [12/15] RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt conda env update -f /tmp/environment.yml && conda clean --all -y # 21 1.584 Retrieving notices: ...working... done # 21 2.032 Channels: # 21 2.032 - defaults # 21 2.032 - conda-forge # 21 2.032 Platform: linux-64 # 21 2.032 Collecting package metadata (repodata.json): ...working... done # 21 28.16 Solving environment: ...working... done # 21 36.58 # 21 36.58 Downloading and Extracting Packages: ...working... done # 21 36.58 Preparing transaction: ...working... done # 21 39.41 Verifying transaction: ...working... done # 21 42.16 Executing transaction: ...working... done # 21 1135.1 Installing pip dependencies: ...working... Ran pip subprocess with arguments: # 21 1359.5 ['/opt/conda/envs/softlearning/bin/python', '-m', 'pip', 'install', '-U', '-r', '/tmp/condaenv.172ujigq.requirements.txt', '--exists-action=b'] # 21 1359.5 Pip subprocess output: # 21 1359.5 Collecting absl-py==0.11.0 (from -r /tmp/./requirements.txt (line 1)) # 21 1359.5 Downloading absl_py-0.11.0-py3-none-any.whl (127 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.8/127.8 kB 658.3 kB/s eta 0:00:00 # 21 1359.5 Collecting aiohttp==3.7.4 (from -r /tmp/./requirements.txt (line 2)) # 21 1359.5 Downloading aiohttp-3.7.4-cp38-cp38-manylinux2014_x86_64.whl (1.5 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 2.1 MB/s eta 0:00:00 # 21 1359.5 Collecting aiohttp-cors==0.7.0 (from -r /tmp/./requirements.txt (line 3)) # 21 1359.5 Downloading aiohttp_cors-0.7.0-py3-none-any.whl (27 kB) # 21 1359.5 Collecting aioredis==1.3.1 (from -r /tmp/./requirements.txt (line 4)) # 21 1359.5 Downloading aioredis-1.3.1-py3-none-any.whl (65 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.3/65.3 kB 410.6 kB/s eta 0:00:00 # 21 1359.5 Collecting appnope==0.1.2 (from -r /tmp/./requirements.txt (line 5)) # 21 1359.5 Downloading appnope-0.1.2-py2.py3-none-any.whl (4.3 kB) # 21 1359.5 Collecting astunparse==1.6.3 (from -r /tmp/./requirements.txt (line 6)) # 21 1359.5 Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB) # 21 1359.5 Collecting async-timeout==3.0.1 (from -r /tmp/./requirements.txt (line 7)) # 21 1359.5 Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB) # 21 1359.5 Collecting attrs==20.3.0 (from -r /tmp/./requirements.txt (line 8)) # 21 1359.5 Downloading attrs-20.3.0-py2.py3-none-any.whl (49 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.3/49.3 kB 329.2 kB/s eta 0:00:00 # 21 1359.5 Collecting backcall==0.2.0 (from -r /tmp/./requirements.txt (line 9)) # 21 1359.5 Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) # 21 1359.5 Collecting blessings==1.7 (from -r /tmp/./requirements.txt (line 10)) # 21 1359.5 Downloading blessings-1.7-py3-none-any.whl (18 kB) # 21 1359.5 Collecting brotlipy==0.7.0 (from -r /tmp/./requirements.txt (line 11)) # 21 1359.5 Downloading brotlipy-0.7.0-cp38-cp38-manylinux1_x86_64.whl (1.1 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 4.4 MB/s eta 0:00:00 # 21 1359.5 Collecting cachetools==4.2.0 (from -r /tmp/./requirements.txt (line 12)) # 21 1359.5 Downloading cachetools-4.2.0-py3-none-any.whl (12 kB) # 21 1359.5 Collecting certifi==2020.12.5 (from -r /tmp/./requirements.txt (line 13)) # 21 1359.5 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.5/147.5 kB 1.9 MB/s eta 0:00:00 # 21 1359.5 Collecting cffi==1.14.4 (from -r /tmp/./requirements.txt (line 14)) # 21 1359.5 Downloading cffi-1.14.4-cp38-cp38-manylinux1_x86_64.whl (411 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 411.1/411.1 kB 3.7 MB/s eta 0:00:00 # 21 1359.5 Collecting chardet==3.0.4 (from -r /tmp/./requirements.txt (line 15)) # 21 1359.5 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.4/133.4 kB 1.3 MB/s eta 0:00:00 # 21 1359.5 Collecting click==7.1.2 (from -r /tmp/./requirements.txt (line 16)) # 21 1359.5 Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.8/82.8 kB 863.6 kB/s eta 0:00:00 # 21 1359.5 Collecting cloudpickle==1.6.0 (from -r /tmp/./requirements.txt (line 17)) # 21 1359.5 Downloading cloudpickle-1.6.0-py3-none-any.whl (23 kB) # 21 1359.5 Collecting colorama==0.4.4 (from -r /tmp/./requirements.txt (line 18)) # 21 1359.5 Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB) # 21 1359.5 Collecting colorful==0.5.4 (from -r /tmp/./requirements.txt (line 19)) # 21 1359.5 Downloading colorful-0.5.4-py2.py3-none-any.whl (201 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 202.0/202.0 kB 1.7 MB/s eta 0:00:00 # 21 1359.5 Collecting cryptography==3.3.2 (from -r /tmp/./requirements.txt (line 20)) # 21 1359.5 Downloading cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl (2.6 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 4.7 MB/s eta 0:00:00 # 21 1359.5 Collecting cycler==0.10.0 (from -r /tmp/./requirements.txt (line 21)) # 21 1359.5 Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB) # 21 1359.5 Collecting Cython==0.29.21 (from -r /tmp/./requirements.txt (line 22)) # 21 1359.5 Downloading Cython-0.29.21-cp38-cp38-manylinux1_x86_64.whl (1.9 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 3.8 MB/s eta 0:00:00 # 21 1359.5 Collecting decorator==4.4.2 (from -r /tmp/./requirements.txt (line 23)) # 21 1359.5 Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB) # 21 1359.5 Collecting dm-control==0.0.322773188 (from -r /tmp/./requirements.txt (line 24)) # 21 1359.5 Downloading dm_control-0.0.322773188-py3-none-any.whl (18.6 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.6/18.6 MB 4.1 MB/s eta 0:00:00 # 21 1359.5 Collecting dm-env==1.3 (from -r /tmp/./requirements.txt (line 25)) # 21 1359.5 Downloading dm_env-1.3-py3-none-any.whl (24 kB) # 21 1359.5 Collecting dm-tree==0.1.5 (from -r /tmp/./requirements.txt (line 26)) # 21 1359.5 Downloading dm_tree-0.1.5-cp38-cp38-manylinux2014_x86_64.whl (91 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 91.6/91.6 kB 1.3 MB/s eta 0:00:00 # 21 1359.5 Collecting fasteners==0.16 (from -r /tmp/./requirements.txt (line 27)) # 21 1359.5 Downloading fasteners-0.16-py2.py3-none-any.whl (28 kB) # 21 1359.5 Collecting filelock==3.0.12 (from -r /tmp/./requirements.txt (line 28)) # 21 1359.5 Downloading filelock-3.0.12-py3-none-any.whl (7.6 kB) # 21 1359.5 Collecting flatbuffers==1.12 (from -r /tmp/./requirements.txt (line 29)) # 21 1359.5 Downloading flatbuffers-1.12-py2.py3-none-any.whl (15 kB) # 21 1359.5 Collecting future==0.18.2 (from -r /tmp/./requirements.txt (line 30)) # 21 1359.5 Downloading future-0.18.2.tar.gz (829 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 829.2/829.2 kB 3.3 MB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting gast==0.3.3 (from -r /tmp/./requirements.txt (line 31)) # 21 1359.5 Downloading gast-0.3.3-py2.py3-none-any.whl (9.7 kB) # 21 1359.5 Collecting gitdb==4.0.5 (from -r /tmp/./requirements.txt (line 32)) # 21 1359.5 Downloading gitdb-4.0.5-py3-none-any.whl (63 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 kB 668.0 kB/s eta 0:00:00 # 21 1359.5 Collecting GitPython==3.1.12 (from -r /tmp/./requirements.txt (line 33)) # 21 1359.5 Downloading GitPython-3.1.12-py3-none-any.whl (159 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.5/159.5 kB 1.4 MB/s eta 0:00:00 # 21 1359.5 Collecting glfw==2.0.0 (from -r /tmp/./requirements.txt (line 34)) # 21 1359.5 Downloading glfw-2.0.0-py2.py27.py3.py30.py31.py32.py33.py34.py35.py36.py37.py38-none-manylinux2014_x86_64.whl (203 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.9/203.9 kB 1.7 MB/s eta 0:00:00 # 21 1359.5 Collecting google-api-core==1.25.0 (from -r /tmp/./requirements.txt (line 35)) # 21 1359.5 Downloading google_api_core-1.25.0-py2.py3-none-any.whl (92 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 92.3/92.3 kB 786.1 kB/s eta 0:00:00 # 21 1359.5 Collecting google-auth==1.24.0 (from -r /tmp/./requirements.txt (line 36)) # 21 1359.5 Downloading google_auth-1.24.0-py2.py3-none-any.whl (114 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 114.7/114.7 kB 849.3 kB/s eta 0:00:00 # 21 1359.5 Collecting google-auth-oauthlib==0.4.2 (from -r /tmp/./requirements.txt (line 37)) # 21 1359.5 Downloading google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB) # 21 1359.5 Collecting google-pasta==0.2.0 (from -r /tmp/./requirements.txt (line 38)) # 21 1359.5 Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 kB 351.3 kB/s eta 0:00:00 # 21 1359.5 Collecting googleapis-common-protos==1.52.0 (from -r /tmp/./requirements.txt (line 39)) # 21 1359.5 Downloading googleapis_common_protos-1.52.0-py2.py3-none-any.whl (100 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.2/100.2 kB 639.0 kB/s eta 0:00:00 # 21 1359.5 Collecting gpustat==0.6.0 (from -r /tmp/./requirements.txt (line 40)) # 21 1359.5 Downloading gpustat-0.6.0.tar.gz (78 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 524.6 kB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting grpcio==1.32.0 (from -r /tmp/./requirements.txt (line 41)) # 21 1359.5 Downloading grpcio-1.32.0-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 2.5 MB/s eta 0:00:00 # 21 1359.5 Collecting gtimer==1.0.0b5 (from -r /tmp/./requirements.txt (line 42)) # 21 1359.5 Downloading gtimer-1.0.0b5.tar.gz (23 kB) # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting h5py==2.10.0 (from -r /tmp/./requirements.txt (line 43)) # 21 1359.5 Downloading h5py-2.10.0-cp38-cp38-manylinux1_x86_64.whl (2.9 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 2.0 MB/s eta 0:00:00 # 21 1359.5 Collecting hiredis==1.1.0 (from -r /tmp/./requirements.txt (line 44)) # 21 1359.5 Downloading hiredis-1.1.0-cp38-cp38-manylinux2010_x86_64.whl (62 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.7/62.7 kB 314.7 kB/s eta 0:00:00 # 21 1359.5 Collecting idna==2.10 (from -r /tmp/./requirements.txt (line 45)) # 21 1359.5 Downloading idna-2.10-py2.py3-none-any.whl (58 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 kB 278.2 kB/s eta 0:00:00 # 21 1359.5 Collecting imageio==2.9.0 (from -r /tmp/./requirements.txt (line 46)) # 21 1359.5 Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 2.8 MB/s eta 0:00:00 # 21 1359.5 Collecting iniconfig==1.1.1 (from -r /tmp/./requirements.txt (line 47)) # 21 1359.5 Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB) # 21 1359.5 Collecting ipdb==0.13.4 (from -r /tmp/./requirements.txt (line 48)) # 21 1359.5 Downloading ipdb-0.13.4.tar.gz (15 kB) # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting ipython==7.19.0 (from -r /tmp/./requirements.txt (line 49)) # 21 1359.5 Downloading ipython-7.19.0-py3-none-any.whl (784 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 784.7/784.7 kB 2.7 MB/s eta 0:00:00 # 21 1359.5 Collecting ipython-genutils==0.2.0 (from -r /tmp/./requirements.txt (line 50)) # 21 1359.5 Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB) # 21 1359.5 Collecting jedi==0.18.0 (from -r /tmp/./requirements.txt (line 51)) # 21 1359.5 Downloading jedi-0.18.0-py2.py3-none-any.whl (1.4 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 5.3 MB/s eta 0:00:00 # 21 1359.5 Collecting joblib==1.0.0 (from -r /tmp/./requirements.txt (line 52)) # 21 1359.5 Downloading joblib-1.0.0-py3-none-any.whl (302 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 303.0/303.0 kB 2.3 MB/s eta 0:00:00 # 21 1359.5 Collecting jsonschema==3.2.0 (from -r /tmp/./requirements.txt (line 53)) # 21 1359.5 Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.3/56.3 kB 402.5 kB/s eta 0:00:00 # 21 1359.5 Collecting Keras-Preprocessing==1.1.2 (from -r /tmp/./requirements.txt (line 54)) # 21 1359.5 Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.6/42.6 kB 263.7 kB/s eta 0:00:00 # 21 1359.5 Collecting kiwisolver==1.3.1 (from -r /tmp/./requirements.txt (line 55)) # 21 1359.5 Downloading kiwisolver-1.3.1-cp38-cp38-manylinux1_x86_64.whl (1.2 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 4.8 MB/s eta 0:00:00 # 21 1359.5 Collecting labmaze==1.0.3 (from -r /tmp/./requirements.txt (line 56)) # 21 1359.5 Downloading labmaze-1.0.3-cp38-cp38-manylinux1_x86_64.whl (4.9 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 4.1 MB/s eta 0:00:00 # 21 1359.5 Collecting lxml==4.6.2 (from -r /tmp/./requirements.txt (line 57)) # 21 1359.5 Downloading lxml-4.6.2-cp38-cp38-manylinux1_x86_64.whl (5.4 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.4/5.4 MB 5.8 MB/s eta 0:00:00 # 21 1359.5 Collecting Markdown==3.3.3 (from -r /tmp/./requirements.txt (line 58)) # 21 1359.5 Downloading Markdown-3.3.3-py3-none-any.whl (96 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.3/96.3 kB 832.0 kB/s eta 0:00:00 # 21 1359.5 Collecting matplotlib==3.3.3 (from -r /tmp/./requirements.txt (line 59)) # 21 1359.5 Downloading matplotlib-3.3.3-cp38-cp38-manylinux1_x86_64.whl (11.6 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 8.0 MB/s eta 0:00:00 # 21 1359.5 Collecting msgpack==1.0.2 (from -r /tmp/./requirements.txt (line 60)) # 21 1359.5 Downloading msgpack-1.0.2-cp38-cp38-manylinux1_x86_64.whl (302 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 302.8/302.8 kB 3.2 MB/s eta 0:00:00 # 21 1359.5 Collecting mujoco-py==2.0.2.13 (from -r /tmp/./requirements.txt (line 61)) # 21 1359.5 Downloading mujoco-py-2.0.2.13.tar.gz (792 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 792.0/792.0 kB 5.6 MB/s eta 0:00:00 # 21 1359.5 Installing build dependencies: started # 21 1359.5 Installing build dependencies: finished with status 'done' # 21 1359.5 Getting requirements to build wheel: started # 21 1359.5 Getting requirements to build wheel: finished with status 'done' # 21 1359.5 Installing backend dependencies: started # 21 1359.5 Installing backend dependencies: finished with status 'done' # 21 1359.5 Preparing metadata (pyproject.toml): started # 21 1359.5 Preparing metadata (pyproject.toml): finished with status 'done' # 21 1359.5 Collecting multidict==5.1.0 (from -r /tmp/./requirements.txt (line 62)) # 21 1359.5 Downloading multidict-5.1.0-cp38-cp38-manylinux2014_x86_64.whl (159 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.4/159.4 kB 1.3 MB/s eta 0:00:00 # 21 1359.5 Collecting networkx==2.5 (from -r /tmp/./requirements.txt (line 63)) # 21 1359.5 Downloading networkx-2.5-py3-none-any.whl (1.6 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 5.9 MB/s eta 0:00:00 # 21 1359.5 Collecting numpy==1.19.5 (from -r /tmp/./requirements.txt (line 64)) # 21 1359.5 Downloading numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl (14.9 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.9/14.9 MB 4.2 MB/s eta 0:00:00 # 21 1359.5 Collecting nvidia-ml-py3==7.352.0 (from -r /tmp/./requirements.txt (line 65)) # 21 1359.5 Downloading nvidia-ml-py3-7.352.0.tar.gz (19 kB) # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting oauthlib==3.1.0 (from -r /tmp/./requirements.txt (line 66)) # 21 1359.5 Downloading oauthlib-3.1.0-py2.py3-none-any.whl (147 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.4/147.4 kB 1.5 MB/s eta 0:00:00 # 21 1359.5 Collecting opencensus==0.7.12 (from -r /tmp/./requirements.txt (line 67)) # 21 1359.5 Downloading opencensus-0.7.12-py2.py3-none-any.whl (127 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 127.2/127.2 kB 973.8 kB/s eta 0:00:00 # 21 1359.5 Collecting opencensus-context==0.1.2 (from -r /tmp/./requirements.txt (line 68)) # 21 1359.5 Downloading opencensus_context-0.1.2-py2.py3-none-any.whl (4.4 kB) # 21 1359.5 Collecting opt-einsum==3.3.0 (from -r /tmp/./requirements.txt (line 69)) # 21 1359.5 Downloading opt_einsum-3.3.0-py3-none-any.whl (65 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.5/65.5 kB 578.2 kB/s eta 0:00:00 # 21 1359.5 Collecting packaging==20.8 (from -r /tmp/./requirements.txt (line 70)) # 21 1359.5 Downloading packaging-20.8-py2.py3-none-any.whl (39 kB) # 21 1359.5 Collecting pandas==1.2.0 (from -r /tmp/./requirements.txt (line 71)) # 21 1359.5 Downloading pandas-1.2.0-cp38-cp38-manylinux1_x86_64.whl (9.7 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.7/9.7 MB 5.5 MB/s eta 0:00:00 # 21 1359.5 Collecting parso==0.8.1 (from -r /tmp/./requirements.txt (line 72)) # 21 1359.5 Downloading parso-0.8.1-py2.py3-none-any.whl (93 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.6/93.6 kB 1.2 MB/s eta 0:00:00 # 21 1359.5 Collecting pexpect==4.8.0 (from -r /tmp/./requirements.txt (line 73)) # 21 1359.5 Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 658.6 kB/s eta 0:00:00 # 21 1359.5 Collecting pickleshare==0.7.5 (from -r /tmp/./requirements.txt (line 74)) # 21 1359.5 Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) # 21 1359.5 Collecting Pillow==7.2.0 (from -r /tmp/./requirements.txt (line 75)) # 21 1359.5 Downloading Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl (2.2 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 2.1 MB/s eta 0:00:00 # 21 1359.5 Collecting pip==20.3.3 (from -r /tmp/./requirements.txt (line 76)) # 21 1359.5 Downloading pip-20.3.3-py2.py3-none-any.whl (1.5 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 335.7 kB/s eta 0:00:00 # 21 1359.5 Collecting pluggy==0.13.1 (from -r /tmp/./requirements.txt (line 77)) # 21 1359.5 Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB) # 21 1359.5 Collecting prometheus-client==0.9.0 (from -r /tmp/./requirements.txt (line 78)) # 21 1359.5 Downloading prometheus_client-0.9.0-py2.py3-none-any.whl (53 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.8/53.8 kB 433.5 kB/s eta 0:00:00 # 21 1359.5 Collecting prompt-toolkit==3.0.10 (from -r /tmp/./requirements.txt (line 79)) # 21 1359.5 Downloading prompt_toolkit-3.0.10-py3-none-any.whl (355 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 355.8/355.8 kB 2.1 MB/s eta 0:00:00 # 21 1359.5 Collecting protobuf==3.14.0 (from -r /tmp/./requirements.txt (line 80)) # 21 1359.5 Downloading protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl (1.0 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 1.8 MB/s eta 0:00:00 # 21 1359.5 Collecting psutil==5.8.0 (from -r /tmp/./requirements.txt (line 81)) # 21 1359.5 Downloading psutil-5.8.0-cp38-cp38-manylinux2010_x86_64.whl (296 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 296.0/296.0 kB 1.5 MB/s eta 0:00:00 # 21 1359.5 Collecting ptyprocess==0.7.0 (from -r /tmp/./requirements.txt (line 82)) # 21 1359.5 Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) # 21 1359.5 Collecting py==1.10.0 (from -r /tmp/./requirements.txt (line 83)) # 21 1359.5 Downloading py-1.10.0-py2.py3-none-any.whl (97 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.6/97.6 kB 843.0 kB/s eta 0:00:00 # 21 1359.5 Collecting py-spy==0.3.4 (from -r /tmp/./requirements.txt (line 84)) # 21 1359.5 Downloading py_spy-0.3.4-py2.py3-none-manylinux1_x86_64.whl (3.2 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 2.3 MB/s eta 0:00:00 # 21 1359.5 Collecting pyasn1==0.4.8 (from -r /tmp/./requirements.txt (line 85)) # 21 1359.5 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 608.7 kB/s eta 0:00:00 # 21 1359.5 Collecting pyasn1-modules==0.2.8 (from -r /tmp/./requirements.txt (line 86)) # 21 1359.5 Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 1.1 MB/s eta 0:00:00 # 21 1359.5 Collecting pycosat==0.6.3 (from -r /tmp/./requirements.txt (line 87)) # 21 1359.5 Downloading pycosat-0.6.3.zip (66 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 472.8 kB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting pycparser==2.20 (from -r /tmp/./requirements.txt (line 88)) # 21 1359.5 Downloading pycparser-2.20-py2.py3-none-any.whl (112 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 112.0/112.0 kB 716.1 kB/s eta 0:00:00 # 21 1359.5 Collecting pyglet==1.5.0 (from -r /tmp/./requirements.txt (line 89)) # 21 1359.5 Downloading pyglet-1.5.0-py2.py3-none-any.whl (1.0 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 4.2 MB/s eta 0:00:00 # 21 1359.5 Collecting Pygments==2.7.4 (from -r /tmp/./requirements.txt (line 90)) # 21 1359.5 Downloading Pygments-2.7.4-py3-none-any.whl (950 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 950.1/950.1 kB 2.1 MB/s eta 0:00:00 # 21 1359.5 Collecting PyOpenGL==3.1.5 (from -r /tmp/./requirements.txt (line 91)) # 21 1359.5 Downloading PyOpenGL-3.1.5-py3-none-any.whl (2.4 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 4.4 MB/s eta 0:00:00 # 21 1359.5 Collecting PyOpenGL-accelerate==3.1.5 (from -r /tmp/./requirements.txt (line 92)) # 21 1359.5 Downloading PyOpenGL-accelerate-3.1.5.tar.gz (538 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 538.4/538.4 kB 3.4 MB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting pyOpenSSL==20.0.1 (from -r /tmp/./requirements.txt (line 93)) # 21 1359.5 Downloading pyOpenSSL-20.0.1-py2.py3-none-any.whl (54 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.1/54.1 kB 384.9 kB/s eta 0:00:00 # 21 1359.5 Collecting pyparsing==2.4.7 (from -r /tmp/./requirements.txt (line 94)) # 21 1359.5 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67.8/67.8 kB 475.3 kB/s eta 0:00:00 # 21 1359.5 Collecting pyrsistent==0.17.3 (from -r /tmp/./requirements.txt (line 95)) # 21 1359.5 Downloading pyrsistent-0.17.3.tar.gz (106 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.9/106.9 kB 751.2 kB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Requirement already satisfied: PySocks==1.7.1 in /opt/conda/envs/softlearning/lib/python3.8/site-packages (from -r /tmp/./requirements.txt (line 96)) (1.7.1) # 21 1359.5 Collecting pytest==6.2.1 (from -r /tmp/./requirements.txt (line 97)) # 21 1359.5 Downloading pytest-6.2.1-py3-none-any.whl (279 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 279.9/279.9 kB 1.7 MB/s eta 0:00:00 # 21 1359.5 Collecting python-dateutil==2.8.1 (from -r /tmp/./requirements.txt (line 98)) # 21 1359.5 Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 227.2/227.2 kB 2.0 MB/s eta 0:00:00 # 21 1359.5 Collecting pytz==2020.5 (from -r /tmp/./requirements.txt (line 99)) # 21 1359.5 Downloading pytz-2020.5-py2.py3-none-any.whl (510 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 510.8/510.8 kB 2.9 MB/s eta 0:00:00 # 21 1359.5 Collecting PyWavelets==1.1.1 (from -r /tmp/./requirements.txt (line 100)) # 21 1359.5 Downloading PyWavelets-1.1.1-cp38-cp38-manylinux1_x86_64.whl (4.4 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 2.9 MB/s eta 0:00:00 # 21 1359.5 Collecting PyYAML==5.4 (from -r /tmp/./requirements.txt (line 101)) # 21 1359.5 Downloading PyYAML-5.4-cp38-cp38-manylinux1_x86_64.whl (662 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 662.2/662.2 kB 3.8 MB/s eta 0:00:00 # 21 1359.5 Collecting ray==1.2.0 (from ray[tune]==1.2.0->-r /tmp/./requirements.txt (line 102)) # 21 1359.5 Downloading ray-1.2.0-cp38-cp38-manylinux2014_x86_64.whl (47.3 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.3/47.3 MB 6.4 MB/s eta 0:00:00 # 21 1359.5 Collecting redis==3.5.3 (from -r /tmp/./requirements.txt (line 103)) # 21 1359.5 Downloading redis-3.5.3-py2.py3-none-any.whl (72 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.1/72.1 kB 867.7 kB/s eta 0:00:00 # 21 1359.5 Collecting requests==2.25.1 (from -r /tmp/./requirements.txt (line 104)) # 21 1359.5 Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 713.2 kB/s eta 0:00:00 # 21 1359.5 Collecting requests-oauthlib==1.3.0 (from -r /tmp/./requirements.txt (line 105)) # 21 1359.5 Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB) # 21 1359.5 Collecting rsa==4.7 (from -r /tmp/./requirements.txt (line 106)) # 21 1359.5 Downloading rsa-4.7-py3-none-any.whl (34 kB) # 21 1359.5 Collecting ruamel-yaml==0.15.87 (from -r /tmp/./requirements.txt (line 107)) # 21 1359.5 Downloading ruamel.yaml-0.15.87.tar.gz (316 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 316.9/316.9 kB 2.5 MB/s eta 0:00:00 # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting scikit-image==0.18.1 (from -r /tmp/./requirements.txt (line 108)) # 21 1359.5 Downloading scikit_image-0.18.1-cp38-cp38-manylinux1_x86_64.whl (30.2 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.2/30.2 MB 5.1 MB/s eta 0:00:00 # 21 1359.5 Collecting scikit-learn==0.24.1 (from -r /tmp/./requirements.txt (line 109)) # 21 1359.5 Downloading scikit_learn-0.24.1-cp38-cp38-manylinux2010_x86_64.whl (24.9 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.9/24.9 MB 6.4 MB/s eta 0:00:00 # 21 1359.5 Collecting scikit-video==1.1.11 (from -r /tmp/./requirements.txt (line 110)) # 21 1359.5 Downloading scikit_video-1.1.11-py2.py3-none-any.whl (2.3 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 1.9 MB/s eta 0:00:00 # 21 1359.5 Collecting scipy==1.6.0 (from -r /tmp/./requirements.txt (line 111)) # 21 1359.5 Downloading scipy-1.6.0-cp38-cp38-manylinux1_x86_64.whl (27.2 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 27.2/27.2 MB 7.1 MB/s eta 0:00:00 # 21 1359.5 Collecting setproctitle==1.2.1 (from -r /tmp/./requirements.txt (line 112)) # 21 1359.5 Downloading setproctitle-1.2.1-cp38-cp38-manylinux1_x86_64.whl (36 kB) # 21 1359.5 Collecting six==1.15.0 (from -r /tmp/./requirements.txt (line 113)) # 21 1359.5 Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) # 21 1359.5 Collecting smmap==3.0.4 (from -r /tmp/./requirements.txt (line 114)) # 21 1359.5 Downloading smmap-3.0.4-py2.py3-none-any.whl (25 kB) # 21 1359.5 Collecting tabulate==0.8.7 (from -r /tmp/./requirements.txt (line 115)) # 21 1359.5 Downloading tabulate-0.8.7-py3-none-any.whl (24 kB) # 21 1359.5 Collecting tensorboard==2.4.1 (from -r /tmp/./requirements.txt (line 116)) # 21 1359.5 Downloading tensorboard-2.4.1-py3-none-any.whl (10.6 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.6/10.6 MB 5.3 MB/s eta 0:00:00 # 21 1359.5 Collecting tensorboard-plugin-wit==1.8.0 (from -r /tmp/./requirements.txt (line 117)) # 21 1359.5 Downloading tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 781.2/781.2 kB 4.2 MB/s eta 0:00:00 # 21 1359.5 Collecting tensorboardX==2.1 (from -r /tmp/./requirements.txt (line 118)) # 21 1359.5 Downloading tensorboardX-2.1-py2.py3-none-any.whl (308 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 308.8/308.8 kB 2.4 MB/s eta 0:00:00 # 21 1359.5 Collecting tensorflow==2.4.1 (from -r /tmp/./requirements.txt (line 119)) # 21 1359.5 Downloading tensorflow-2.4.1-cp38-cp38-manylinux2010_x86_64.whl (394.4 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 394.4/394.4 MB 1.4 MB/s eta 0:00:00 # 21 1359.5 Collecting tensorflow-addons==0.12.1 (from -r /tmp/./requirements.txt (line 120)) # 21 1359.5 Downloading tensorflow_addons-0.12.1-cp38-cp38-manylinux2010_x86_64.whl (703 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 703.3/703.3 kB 691.6 kB/s eta 0:00:00 # 21 1359.5 Collecting tensorflow-estimator==2.4.0 (from -r /tmp/./requirements.txt (line 121)) # 21 1359.5 Downloading tensorflow_estimator-2.4.0-py2.py3-none-any.whl (462 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 462.0/462.0 kB 3.9 MB/s eta 0:00:00 # 21 1359.5 Collecting tensorflow-probability==0.12.1 (from -r /tmp/./requirements.txt (line 122)) # 21 1359.5 Downloading tensorflow_probability-0.12.1-py2.py3-none-any.whl (4.8 MB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.8/4.8 MB 3.7 MB/s eta 0:00:00 # 21 1359.5 Collecting termcolor==1.1.0 (from -r /tmp/./requirements.txt (line 123)) # 21 1359.5 Downloading termcolor-1.1.0.tar.gz (3.9 kB) # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting threadpoolctl==2.1.0 (from -r /tmp/./requirements.txt (line 124)) # 21 1359.5 Downloading threadpoolctl-2.1.0-py3-none-any.whl (12 kB) # 21 1359.5 Collecting tifffile==2021.1.14 (from -r /tmp/./requirements.txt (line 125)) # 21 1359.5 Downloading tifffile-2021.1.14-py3-none-any.whl (158 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.9/158.9 kB 1.3 MB/s eta 0:00:00 # 21 1359.5 Collecting toml==0.10.2 (from -r /tmp/./requirements.txt (line 126)) # 21 1359.5 Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) # 21 1359.5 Collecting tqdm==4.55.1 (from -r /tmp/./requirements.txt (line 127)) # 21 1359.5 Downloading tqdm-4.55Pip subprocess error: # 21 1359.5 error: subprocess-exited-with-error # 21 1359.5 # 21 1359.5 × Building wheel for mujoco-py (pyproject.toml) did not run successfully. # 21 1359.5 │ exit code: 1 # 21 1359.5 ╰─> [95 lines of output] # 21 1359.5 running bdist_wheel # 21 1359.5 running build # 21 1359.5 performance hint: mujoco_py/cymj.pyx:67:5: Exception check on 'c_warning_callback' will always require the GIL to be acquired. # 21 1359.5 Possible solutions: # 21 1359.5 1. Declare the function as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. # 21 1359.5 2. Use an 'int' return type on the function to allow an error code to be returned. # 21 1359.5 performance hint: mujoco_py/cymj.pyx:104:5: Exception check on 'c_error_callback' will always require the GIL to be acquired. # 21 1359.5 Possible solutions: # 21 1359.5 1. Declare the function as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions. # 21 1359.5 2. Use an 'int' return type on the function to allow an error code to be returned. # 21 1359.5 # 21 1359.5 Error compiling Cython file: # 21 1359.5 ------------------------------------------------------------ # 21 1359.5 ... # 21 1359.5 See c_warning_callback, which is the C wrapper to the user defined function # 21 1359.5 ''' # 21 1359.5 global py_warning_callback # 21 1359.5 global mju_user_warning # 21 1359.5 py_warning_callback = warn # 21 1359.5 mju_user_warning = c_warning_callback # 21 1359.5 ^ # 21 1359.5 ------------------------------------------------------------ # 21 1359.5 # 21 1359.5 mujoco_py/cymj.pyx:92:23: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (const char *) except * nogil'. # 21 1359.5 # 21 1359.5 Error compiling Cython file: # 21 1359.5 ------------------------------------------------------------ # 21 1359.5 ... # 21 1359.5 See c_warning_callback, which is the C wrapper to the user defined function # 21 1359.5 ''' # 21 1359.5 global py_error_callback # 21 1359.5 global mju_user_error # 21 1359.5 py_error_callback = err_callback # 21 1359.5 mju_user_error = c_error_callback # 21 1359.5 ^ # 21 1359.5 ------------------------------------------------------------ # 21 1359.5 # 21 1359.5 mujoco_py/cymj.pyx:127:21: Cannot assign type 'void (const char *) except * nogil' to 'void (*)(const char *) noexcept nogil'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (const char *) except * nogil'. # 21 1359.5 Removing old mujoco_py cext /tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/generated/cymj_2.0.2.13_38_linuxcpuextensionbuilder_38.so # 21 1359.5 Compiling /tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/cymj.pyx because it changed. # 21 1359.5 [1/1] Cythonizing /tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/cymj.pyx # 21 1359.5 Traceback (most recent call last): # 21 1359.5 File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in # 21 1359.5 main() # 21 1359.5 File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main # 21 1359.5 json_out['return_val'] = hook(**hook_input['kwargs']) # 21 1359.5 File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel # 21 1359.5 return _build_backend().build_wheel(wheel_directory, config_settings, # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 404, in build_wheel # 21 1359.5 return self._build_with_temp_dir( # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 389, in _build_with_temp_dir # 21 1359.5 self.run_setup() # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 480, in run_setup # 21 1359.5 super(_BuildMetaLegacyBackend, self).run_setup(setup_script=setup_script) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 311, in run_setup # 21 1359.5 exec(code, locals()) # 21 1359.5 File "", line 33, in # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 103, in setup # 21 1359.5 return distutils.core.setup(**attrs) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup # 21 1359.5 return run_commands(dist) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands # 21 1359.5 dist.run_commands() # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands # 21 1359.5 self.run_command(cmd) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 963, in run_command # 21 1359.5 super().run_command(command) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command # 21 1359.5 cmd_obj.run() # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/normal/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 368, in run # 21 1359.5 self.run_command("build") # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command # 21 1359.5 self.distribution.run_command(command) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 963, in run_command # 21 1359.5 super().run_command(command) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command # 21 1359.5 cmd_obj.run() # 21 1359.5 File "", line 29, in run # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/__init__.py", line 3, in # 21 1359.5 from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/builder.py", line 510, in # 21 1359.5 cymj = load_cython_ext(mujoco_path) # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/builder.py", line 105, in load_cython_ext # 21 1359.5 cext_so_path = builder.build() # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/builder.py", line 221, in build # 21 1359.5 built_so_file_path = self._build_impl() # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/builder.py", line 273, in _build_impl # 21 1359.5 so_file_path = super()._build_impl() # 21 1359.5 File "/tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/builder.py", line 234, in _build_impl # 21 1359.5 dist.ext_modules = cythonize([self.extension]) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1154, in cythonize # 21 1359.5 cythonize_one(*args) # 21 1359.5 File "/tmp/pip-build-env-q7bx0iqj/overlay/lib/python3.8/site-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one # 21 1359.5 raise CompileError(None, pyx_file) # 21 1359.5 Cython.Compiler.Errors.CompileError: /tmp/pip-install-dyng7tuk/mujoco-py_7f730c8dac33437a9823ca06587a6fca/mujoco_py/cymj.pyx # 21 1359.5 [end of output] # 21 1359.5 # 21 1359.5 note: This error originates from a subprocess, and is likely not a problem with pip. # 21 1359.5 ERROR: Failed building wheel for mujoco-py # 21 1359.5 ERROR: Could not build wheels for mujoco-py, which is required to install pyproject.toml-based projects # 21 1359.5 # 21 1359.5 .1-py2.py3-none-any.whl (68 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 68.3/68.3 kB 500.3 kB/s eta 0:00:00 # 21 1359.5 Collecting traitlets==5.0.5 (from -r /tmp/./requirements.txt (line 128)) # 21 1359.5 Downloading traitlets-5.0.5-py3-none-any.whl (100 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.1/100.1 kB 732.4 kB/s eta 0:00:00 # 21 1359.5 Collecting typeguard==2.10.0 (from -r /tmp/./requirements.txt (line 129)) # 21 1359.5 Downloading typeguard-2.10.0-py3-none-any.whl (16 kB) # 21 1359.5 Collecting typing-extensions==3.7.4.3 (from -r /tmp/./requirements.txt (line 130)) # 21 1359.5 Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) # 21 1359.5 Collecting urllib3==1.26.3 (from -r /tmp/./requirements.txt (line 131)) # 21 1359.5 Downloading urllib3-1.26.3-py2.py3-none-any.whl (137 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 137.0/137.0 kB 1.1 MB/s eta 0:00:00 # 21 1359.5 Collecting wcwidth==0.2.5 (from -r /tmp/./requirements.txt (line 132)) # 21 1359.5 Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB) # 21 1359.5 Collecting Werkzeug==1.0.1 (from -r /tmp/./requirements.txt (line 133)) # 21 1359.5 Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 298.6/298.6 kB 1.5 MB/s eta 0:00:00 # 21 1359.5 Collecting wheel==0.36.2 (from -r /tmp/./requirements.txt (line 134)) # 21 1359.5 Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB) # 21 1359.5 Collecting wrapt==1.12.1 (from -r /tmp/./requirements.txt (line 135)) # 21 1359.5 Downloading wrapt-1.12.1.tar.gz (27 kB) # 21 1359.5 Preparing metadata (setup.py): started # 21 1359.5 Preparing metadata (setup.py): finished with status 'done' # 21 1359.5 Collecting yarl==1.6.3 (from -r /tmp/./requirements.txt (line 136)) # 21 1359.5 Downloading yarl-1.6.3-cp38-cp38-manylinux2014_x86_64.whl (324 kB) # 21 1359.5 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 324.3/324.3 kB 2.0 MB/s eta 0:00:00 # 21 1359.5 Requirement already satisfied: setuptools in /opt/conda/envs/softlearning/lib/python3.8/site-packages (from dm-control==0.0.322773188->-r /tmp/./requirements.txt (line 24)) (68.0.0) # 21 1359.5 Building wheels for collected packages: future, gpustat, gtimer, ipdb, mujoco-py, nvidia-ml-py3, pycosat, PyOpenGL-accelerate, pyrsistent, ruamel-yaml, termcolor, wrapt # 21 1359.5 Building wheel for future (setup.py): started # 21 1359.5 Building wheel for future (setup.py): finished with status 'done' # 21 1359.5 Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491058 sha256=f90c4958d6858a2d7acaaa0d053cc9c5a3aad37cbdea25f264cf946b238ab038 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4 # 21 1359.5 Building wheel for gpustat (setup.py): started # 21 1359.5 Building wheel for gpustat (setup.py): finished with status 'done' # 21 1359.5 Created wheel for gpustat: filename=gpustat-0.6.0-py3-none-any.whl size=12594 sha256=40c56d7cbc148fd2a8ca00d0ae9548754afbdd8448474627a077ec7989be6323 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/0d/d9/80/b6cbcdc9946c7b50ce35441cc9e7d8c5a9d066469ba99bae44 # 21 1359.5 Building wheel for gtimer (setup.py): started # 21 1359.5 Building wheel for gtimer (setup.py): finished with status 'done' # 21 1359.5 Created wheel for gtimer: filename=gtimer-1.0.0b5-py3-none-any.whl size=31052 sha256=f314d94f224d4a9eedeb0772c7551e61931f00ca52560ad4ff248b94e3b86e87 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/c3/64/e9/2e0651e41018363be497652601c51a1e5cd44cf368b722ca15 # 21 1359.5 Building wheel for ipdb (setup.py): started # 21 1359.5 Building wheel for ipdb (setup.py): finished with status 'done' # 21 1359.5 Created wheel for ipdb: filename=ipdb-0.13.4-py3-none-any.whl size=10978 sha256=c588b6e10fb9ca38f0d986d11746e180c6f8c4fb609b5b6c190954c9947236f6 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/45/30/91/6d23d9241f432efb8e1e928b3ddd3657885d0a3118a1e570d2 # 21 1359.5 Building wheel for mujoco-py (pyproject.toml): started # 21 1359.5 Building wheel for mujoco-py (pyproject.toml): finished with status 'error' # 21 1359.5 Building wheel for nvidia-ml-py3 (setup.py): started # 21 1359.5 Building wheel for nvidia-ml-py3 (setup.py): finished with status 'done' # 21 1359.5 Created wheel for nvidia-ml-py3: filename=nvidia_ml_py3-7.352.0-py3-none-any.whl size=19171 sha256=5f1d63a863f037f933527806df9a4cda32727d6b215c064b671fce04ea30abca # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/b9/b1/68/cb4feab29709d4155310d29a421389665dcab9eb3b679b527b # 21 1359.5 Building wheel for pycosat (setup.py): started # 21 1359.5 Building wheel for pycosat (setup.py): finished with status 'done' # 21 1359.5 Created wheel for pycosat: filename=pycosat-0.6.3-cp38-cp38-linux_x86_64.whl size=156654 sha256=b5ade3095eb3c889e38684f4bf8466e46264aae221060fd806659cf203e1d36e # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/71/5b/2d/0a9247760f0f008abc0eae7c0127a8c1cddfe1145e4b170fc0 # 21 1359.5 Building wheel for PyOpenGL-accelerate (setup.py): started # 21 1359.5 Building wheel for PyOpenGL-accelerate (setup.py): finished with status 'done' # 21 1359.5 Created wheel for PyOpenGL-accelerate: filename=PyOpenGL_accelerate-3.1.5-cp38-cp38-linux_x86_64.whl size=1721370 sha256=1ac3d5a0e0a7986c4e70ceb341823f85ce3bbcd01e1b8b63e10b93584c3e25cf # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/78/c1/00/02b87e2b442a92cfa76c4650476396a245dc7e1bcbfc010ae2 # 21 1359.5 Building wheel for pyrsistent (setup.py): started # 21 1359.5 Building wheel for pyrsistent (setup.py): finished with status 'done' # 21 1359.5 Created wheel for pyrsistent: filename=pyrsistent-0.17.3-cp38-cp38-linux_x86_64.whl size=119528 sha256=33680f64040cf1306930de65f3d42e28c6be8ae6c05b129abf7ab48ad857fe1d # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/3d/22/08/7042eb6309c650c7b53615d5df5cc61f1ea9680e7edd3a08d2 # 21 1359.5 Building wheel for ruamel-yaml (setup.py): started # 21 1359.5 Building wheel for ruamel-yaml (setup.py): finished with status 'done' # 21 1359.5 Created wheel for ruamel-yaml: filename=ruamel.yaml-0.15.87-cp38-cp38-linux_x86_64.whl size=683654 sha256=845f5c8c2f3583b7e9a3f993a0dd80bd2ca1152407696dc6025a709aec6dbcab # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/f5/48/b9/83e6b45fde3fa62c6acda740b297ad8a57177b5292db032084 # 21 1359.5 Building wheel for termcolor (setup.py): started # 21 1359.5 Building wheel for termcolor (setup.py): finished with status 'done' # 21 1359.5 Created wheel for termcolor: filename=termcolor-1.1.0-py3-none-any.whl size=4832 sha256=7068d9d006aff897ef4cddf92deedb1bfd42bea2d11f0c5173435c57b98dea79 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/a0/16/9c/5473df82468f958445479c59e784896fa24f4a5fc024b0f501 # 21 1359.5 Building wheel for wrapt (setup.py): started # 21 1359.5 Building wheel for wrapt (setup.py): finished with status 'done' # 21 1359.5 Created wheel for wrapt: filename=wrapt-1.12.1-cp38-cp38-linux_x86_64.whl size=77936 sha256=34a0c4381532f2b71f67955f9087118fc2ade00481f59b1cd31762d0b3801c09 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/5f/fd/9e/b6cf5890494cb8ef0b5eaff72e5d55a70fb56316007d6dfe73 # 21 1359.5 Successfully built future gpustat gtimer ipdb nvidia-ml-py3 pycosat PyOpenGL-accelerate pyrsistent ruamel-yaml termcolor wrapt # 21 1359.5 Failed to build mujoco-py # 21 1359.5 # 21 1359.5 failed # 21 1359.5 # 21 1359.5 CondaEnvException: Pip failed # 21 1359.5 # 21 ERROR: process "/bin/bash -c conda env update -f /tmp/environment.yml && conda clean --all -y" did not complete successfully: exit code: 1 ------ > [12/15] RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt conda env update -f /tmp/environment.yml && conda clean --all -y: # 21 1359.5 Building wheel for wrapt (setup.py): finished with status 'done' # 21 1359.5 Created wheel for wrapt: filename=wrapt-1.12.1-cp38-cp38-linux_x86_64.whl size=77936 sha256=34a0c4381532f2b71f67955f9087118fc2ade00481f59b1cd31762d0b3801c09 # 21 1359.5 Stored in directory: /root/.cache/pip/wheels/5f/fd/9e/b6cf5890494cb8ef0b5eaff72e5d55a70fb56316007d6dfe73 # 21 1359.5 Successfully built future gpustat gtimer ipdb nvidia-ml-py3 pycosat PyOpenGL-accelerate pyrsistent ruamel-yaml termcolor wrapt # 21 1359.5 Failed to build mujoco-py # 21 1359.5 # 21 1359.5 failed # 21 1359.5 # 21 1359.5 CondaEnvException: Pip failed # 21 1359.5 ------ ERROR: failed to solve: process "/bin/bash -c conda env update -f /tmp/environment.yml && conda clean --all -y" did not complete successfully: exit code: 1 Note that an extra space is added after the pound symbol `#` in the error message to prevent github linking issues. --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 532c68194..35934f82a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -58,7 +58,7 @@ lxml==4.6.2 Markdown==3.3.3 matplotlib==3.3.3 msgpack==1.0.2 -mujoco-py==2.0.2.13 +mujoco-py==2.0.2.10 multidict==5.1.0 networkx==2.5 numpy==1.19.5 From 29da8a5c689a4d56dcf29367b4b6fd97a4959139 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 15:46:03 +0800 Subject: [PATCH 05/11] Update README regarding docker commands --- README.md | 100 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 81 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 63075a4ef..451aa5249 100644 --- a/README.md +++ b/README.md @@ -40,32 +40,94 @@ conda remove --name softlearning --all ## Docker Installation ### docker-compose -To build the image and run the container: -``` -export MJKEY="$(cat ~/.mujoco/mjkey.txt)" \ - && docker-compose \ - -f ./docker/docker-compose.dev.cpu.yml \ - up \ - -d \ - --force-recreate -``` + +To build the image: + +- CPU: + + ```sh + DOCKER_BUILDKIT=1 \ + docker build \ + -f ./docker/Dockerfile.softlearning.base.cpu \ + -t softlearning:latest-cpu \ + --progress=plain \ + --secret id=mjkey,src="${HOME}/.mujoco/mjkey.txt" . + ``` + +- GPU: + + ```sh + DOCKER_BUILDKIT=1 \ + docker build \ + -f ./docker/Dockerfile.softlearning.base.gpu \ + -t softlearning:latest-gpu \ + --progress=plain \ + --secret id=mjkey,src="${HOME}/.mujoco/mjkey.txt" . + ``` + +and run the container: + +- CPU: + + ```sh + docker-compose \ + -p ${USER} \ + -f ./docker/docker-compose.dev.cpu.yml \ + up \ + -d \ + --force-recreate + ``` + +- GPU: + + ```sh + docker-compose \ + -p ${USER} \ + -f ./docker/docker-compose.dev.gpu.yml \ + up \ + -d \ + --force-recreate + ``` You can access the container with the typical Docker [exec](https://docs.docker.com/engine/reference/commandline/exec/)-command, i.e. -``` -docker exec -it softlearning bash -``` +- CPU: + + ```sh + docker exec -it softlearning-dev-cpu bash + pip install -e . + ``` + +- GPU: + + ```sh + docker exec -it softlearning-dev-gpu bash + pip install -e . + ``` See examples section for examples of how to train and simulate the agents. Finally, to clean up the docker setup: -``` -docker-compose \ - -f ./docker/docker-compose.dev.cpu.yml \ - down \ - --rmi all \ - --volumes -``` + +- CPU: + + ```sh + docker-compose \ + -f ./docker/docker-compose.dev.cpu.yml \ + down \ + --rmi all \ + --volumes + ``` + +- GPU: + + ```sh + docker-compose \ + -f ./docker/docker-compose.dev.gpu.yml \ + down \ + --rmi all \ + --volumes + ``` ## Examples ### Training and simulating an agent From 20b95823e2654e432f66c4693af0705ceab63bc1 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 17:48:18 +0800 Subject: [PATCH 06/11] Add safe directory for GitPython Reference: https://stackoverflow.com/a/76706837 Full error message: (softlearning) root@338939057e54:~/softlearning# softlearning run_example_local examples.development \ > --algorithm SAC \ > --universe gym \ > --domain HalfCheetah \ > --task v3 \ > --exp-name my-sac-experiment-1 \ > --checkpoint-frequency 1000 # Save the checkpoint to resume training later 2023-11-29 09:30:27.840788: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /root/.mujoco/mujoco200_linux/bin:/root/.mujoco/mujoco200/bin:/root/.mujoco/mjpro150/bin::/usr/lib/nvidia-000 2023-11-29 09:30:27.840808: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. Compiling /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/cymj.pyx because it depends on /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/pxd/mujoco.pxd. [1/1] Cythonizing /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/cymj.pyx running build_ext building 'mujoco_py.cymj' extension creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38 creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8 creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/gl gcc -pthread -B /opt/conda/envs/softlearning/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py -I/root/.mujoco/mujoco200/include -I/opt/conda/envs/softlearning/lib/python3.8/site-packages/numpy/core/include -I/opt/conda/envs/softlearning/include/python3.8 -c /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/cymj.c -o /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/cymj.o -fopenmp -w gcc -pthread -B /opt/conda/envs/softlearning/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py -I/root/.mujoco/mujoco200/include -I/opt/conda/envs/softlearning/lib/python3.8/site-packages/numpy/core/include -I/opt/conda/envs/softlearning/include/python3.8 -c /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/gl/osmesashim.c -o /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/gl/osmesashim.o -fopenmp -w creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/lib.linux-x86_64-cpython-38 creating /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/lib.linux-x86_64-cpython-38/mujoco_py gcc -pthread -shared -B /opt/conda/envs/softlearning/compiler_compat -L/opt/conda/envs/softlearning/lib -Wl,-rpath=/opt/conda/envs/softlearning/lib -Wl,--no-as-needed -Wl,--sysroot=/ /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/cymj.o /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/temp.linux-x86_64-cpython-38/opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/gl/osmesashim.o -L/root/.mujoco/mujoco200/bin -Wl,--enable-new-dtags,-R/root/.mujoco/mujoco200/bin -lmujoco200 -lglewosmesa -lOSMesa -lGL -o /opt/conda/envs/softlearning/lib/python3.8/site-packages/mujoco_py/generated/_pyxbld_2.0.2.10_38_linuxcpuextensionbuilder/lib.linux-x86_64-cpython-38/mujoco_py/cymj.cpython-38-x86_64-linux-gnu.so -fopenmp INFO:absl:MUJOCO_GL is not set, so an OpenGL backend will be chosen automatically. INFO:absl:Successfully imported OpenGL backend: glfw INFO:absl:MuJoCo library version is: 200 Warning: robosuite package not found. Run `pip install robosuite` to use robosuite environments. Traceback (most recent call last): File "/opt/conda/envs/softlearning/bin/softlearning", line 33, in sys.exit(load_entry_point('softlearning', 'console_scripts', 'softlearning')()) File "/root/softlearning/softlearning/scripts/console_scripts.py", line 207, in main return cli() File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/root/softlearning/softlearning/scripts/console_scripts.py", line 73, in run_example_local_cmd return run_example_local(example_module_name, example_argv) File "/root/softlearning/examples/instrument.py", line 225, in run_example_local variant_spec = example_module.get_variant_spec(example_args) File "/root/softlearning/examples/development/__init__.py", line 16, in get_variant_spec variant_spec = get_variant_spec(command_line_args, *args, **kwargs) File "/root/softlearning/examples/development/variants.py", line 570, in get_variant_spec variant_spec = get_variant_spec_image( File "/root/softlearning/examples/development/variants.py", line 526, in get_variant_spec_image variant_spec = get_variant_spec_base( File "/root/softlearning/examples/development/variants.py", line 434, in get_variant_spec_base 'git_sha': get_git_rev(__file__), File "/root/softlearning/softlearning/utils/git.py", line 20, in get_git_rev git_rev = repo.active_branch.commit.name_rev File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/refs/symbolic.py", line 197, in _get_commit obj = self._get_object() File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/refs/symbolic.py", line 190, in _get_object return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path))) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/objects/base.py", line 64, in new_from_sha oinfo = repo.odb.info(sha1) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/db.py", line 37, in info hexsha, typename, size = self._git.get_object_header(bin_to_hex(sha)) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/cmd.py", line 1068, in get_object_header return self.__get_object_header(cmd, ref) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/cmd.py", line 1057, in __get_object_header return self._parse_object_header(cmd.stdout.readline()) File "/opt/conda/envs/softlearning/lib/python3.8/site-packages/git/cmd.py", line 1019, in _parse_object_header raise ValueError("SHA could not be resolved, git returned: %r" % (header_line.strip())) ValueError: SHA could not be resolved, git returned: b'' --- docker/Dockerfile.softlearning.base.cpu | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Dockerfile.softlearning.base.cpu b/docker/Dockerfile.softlearning.base.cpu index 35eda83f0..7ffe8023a 100644 --- a/docker/Dockerfile.softlearning.base.cpu +++ b/docker/Dockerfile.softlearning.base.cpu @@ -140,6 +140,8 @@ RUN source activate softlearning \ RUN echo "conda activate softlearning" >> ~/.bashrc \ && echo "cd ~/softlearning" >> ~/.bashrc +RUN git config --global --add safe.directory /root/softlearning + # =========== Container Entrypoint ============= COPY ./docker/entrypoint.sh /entrypoint.sh From fb0b21334008f70b1520dde7be8647e41049642c Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 18:47:27 +0800 Subject: [PATCH 07/11] Fix libcudnn7 not found error by re-writing GPU dockerfile based on the CPU dockerfile --- docker/Dockerfile.softlearning.base.gpu | 54 +++++-------------------- 1 file changed, 10 insertions(+), 44 deletions(-) diff --git a/docker/Dockerfile.softlearning.base.gpu b/docker/Dockerfile.softlearning.base.gpu index 186683359..42bc85ca9 100644 --- a/docker/Dockerfile.softlearning.base.gpu +++ b/docker/Dockerfile.softlearning.base.gpu @@ -25,18 +25,11 @@ # --force-recreate -ARG UBUNTU_VERSION=18.04 -ARG ARCH= -ARG CUDA=10.0 +# ARG UBUNTU_VERSION=20.04 -FROM nvidia/cudagl${ARCH:+-$ARCH}:${CUDA}-base-ubuntu${UBUNTU_VERSION} as base -# ARCH and CUDA are specified again because the FROM directive resets ARGs -# (but their default value is retained if set previously) +FROM nvcr.io/nvidia/tensorflow:21.05-tf2-py3 -ARG UBUNTU_VERSION -ARG ARCH -ARG CUDA -ARG CUDNN=7.4.1.5-1 +# ARG UBUNTU_VERSION SHELL ["/bin/bash", "-c"] @@ -70,38 +63,6 @@ RUN conda update -y --name base conda \ && conda clean --all -y -# ========== Tensorflow dependencies ========== -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - build-essential \ - cuda-command-line-tools-${CUDA/./-} \ - cuda-cublas-${CUDA/./-} \ - cuda-cufft-${CUDA/./-} \ - cuda-curand-${CUDA/./-} \ - cuda-cusolver-${CUDA/./-} \ - cuda-cusparse-${CUDA/./-} \ - curl \ - libcudnn7=${CUDNN}+cuda${CUDA} \ - libfreetype6-dev \ - libhdf5-serial-dev \ - libzmq3-dev \ - pkg-config \ - software-properties-common \ - zip \ - unzip \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -RUN [ ${ARCH} = ppc64le ] || (apt-get update && \ - apt-get install nvinfer-runtime-trt-repo-ubuntu${UBUNTU_VERSION/./}-5.0.2-ga-cuda${CUDA} \ - && apt-get update \ - && apt-get install -y --no-install-recommends libnvinfer5=5.0.2-1+cuda${CUDA} \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/*) - -# For CUDA profiling, TensorFlow requires CUPTI. -ENV LD_LIBRARY_PATH /usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH - # ========== Softlearning dependencies ========== RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ @@ -163,8 +124,8 @@ ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/lib/nvidia-000 # ========== Conda Environment ========== -COPY ./environment.yml /tmp/environment.yml -COPY ./requirements.txt /tmp/requirements.txt +COPY ./environment.yml /tmp/ +COPY ./requirements.txt /tmp/ # NOTE: Fetch `mjkey.txt` from secret mount to avoid writing it to the build # history. For details, see: @@ -172,10 +133,15 @@ COPY ./requirements.txt /tmp/requirements.txt RUN --mount=type=secret,id=mjkey,dst=/root/.mujoco/mjkey.txt \ conda env update -f /tmp/environment.yml \ && conda clean --all -y +RUN source activate softlearning \ + && pip install setuptools==65.5.0 wheel==0.38.0 \ + && pip install gym==0.18.0 RUN echo "conda activate softlearning" >> ~/.bashrc \ && echo "cd ~/softlearning" >> ~/.bashrc +RUN git config --global --add safe.directory /root/softlearning + # =========== Container Entrypoint ============= COPY ./docker/entrypoint.sh /entrypoint.sh From e6a85461b6380671132a4172a1e3872f2f207114 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 18:47:59 +0800 Subject: [PATCH 08/11] Remove google cloud-sdk Full error message: # 16 2500.0 deb http://packages.cloud.google.com/apt cloud-sdk-focal main # 16 2500.1 % Total % Received % Xferd Average Speed Time Time Time Current # 16 2500.1 Dload Upload Total Spent Left Speed 100 2659 100 2659 0 0 15459 0 --:--:-- --:--:-- --:--:-- 15459 # 16 2500.3 Warning: apt-key output should not be parsed (stdout is not a terminal) # 16 2501.0 OK # 16 2501.5 Ign:1 http://packages.cloud.google.com/apt cloud-sdk-focal InRelease # 16 2501.7 Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease # 16 2501.7 Err:3 http://packages.cloud.google.com/apt cloud-sdk-focal Release # 16 2501.7 404 Not Found [IP: 172.217.160.78 80] # 16 2501.8 Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease # 16 2502.1 Hit:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease # 16 2502.4 Hit:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease # 16 2502.6 Reading package lists... # 16 2503.3 E: The repository 'http://packages.cloud.google.com/apt cloud-sdk-focal Release' does not have a Release file. # 16 ERROR: process "/bin/bash -c apt-get update -y && apt-get install -y --no-install-recommends build-essential curl git gnupg2 make cmake ffmpeg swig libz-dev unzip zlib1g-dev libglfw3 libglfw3-dev libxrandr2 libxinerama-dev libxi6 libxcursor-dev libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev lsb-release ack-grep patchelf vim emacs wget xpra xserver-xorg-dev xvfb && export CLOUD_SDK_REPO=\"cloud-sdk-$(lsb_release -c -s)\" && echo \"deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main\" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && apt-get update -y && apt-get install -y google-cloud-sdk && apt-get clean && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100 ------ > [6/16] RUN apt-get update -y && apt-get install -y --no-install-recommends build-essential curl git gnupg2 make cmake ffmpeg swig libz-dev unzip zlib1g-dev libglfw3 libglfw3-dev libxrandr2 libxinerama-dev libxi6 libxcursor-dev libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev lsb-release ack-grep patchelf vim emacs wget xpra xserver-xorg-dev xvfb && export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && apt-get update -y && apt-get install -y google-cloud-sdk && apt-get clean && rm -rf /var/lib/apt/lists/*: # 16 2501.0 OK # 16 2501.5 Ign:1 http://packages.cloud.google.com/apt cloud-sdk-focal InRelease # 16 2501.7 Hit:2 http://security.ubuntu.com/ubuntu focal-security InRelease # 16 2501.7 Err:3 http://packages.cloud.google.com/apt cloud-sdk-focal Release # 16 2501.7 404 Not Found [IP: 172.217.160.78 80] # 16 2501.8 Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease # 16 2502.1 Hit:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease # 16 2502.4 Hit:6 http://archive.ubuntu.com/ubuntu focal-backports InRelease # 16 2503.3 E: The repository 'http://packages.cloud.google.com/apt cloud-sdk-focal Release' does not have a Release file. ------ ERROR: failed to solve: process "/bin/bash -c apt-get update -y && apt-get install -y --no-install-recommends build-essential curl git gnupg2 make cmake ffmpeg swig libz-dev unzip zlib1g-dev libglfw3 libglfw3-dev libxrandr2 libxinerama-dev libxi6 libxcursor-dev libgl1-mesa-dev libgl1-mesa-glx libglew-dev libosmesa6-dev lsb-release ack-grep patchelf vim emacs wget xpra xserver-xorg-dev xvfb && export CLOUD_SDK_REPO=\"cloud-sdk-$(lsb_release -c -s)\" && echo \"deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main\" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - && apt-get update -y && apt-get install -y google-cloud-sdk && apt-get clean && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100 Note that an extra space is added after the pound symbol `#` in the error message to prevent github linking issues. --- docker/Dockerfile.softlearning.base.gpu | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docker/Dockerfile.softlearning.base.gpu b/docker/Dockerfile.softlearning.base.gpu index 42bc85ca9..cd44dc301 100644 --- a/docker/Dockerfile.softlearning.base.gpu +++ b/docker/Dockerfile.softlearning.base.gpu @@ -96,13 +96,6 @@ RUN apt-get update -y \ xpra \ xserver-xorg-dev \ xvfb \ - && export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" \ - && echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" \ - | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \ - && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg \ - | apt-key add - \ - && apt-get update -y \ - && apt-get install -y google-cloud-sdk \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* From 477f08eb190986253b1285d132a8e0ab437a731e Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 21:49:09 +0800 Subject: [PATCH 09/11] Fix could not load dynamic library 'libcusolver.so.10' error Reference: https://github.com/tensorflow/tensorflow/issues/44777#issuecomment-771285431 Command and error message: (softlearning) root@d552e69dd7c6:~/softlearning# python Python 3.8.18 (default, Sep 11 2023, 13:40:15) [GCC 11.2.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf t_physical_devices('GPU')2023-11-29 13:31:22.648469: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0 >>> tf.config.experimental.list_physical_devices('GPU') 2023-11-29 13:31:25.436965: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set 2023-11-29 13:31:25.439436: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1 2023-11-29 13:31:25.495281: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2023-11-29 13:31:25.495745: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties: pciBusID: 0000:01:00.0 name: Quadro RTX 6000 computeCapability: 7.5 coreClock: 1.77GHz coreCount: 72 deviceMemorySize: 23.64GiB deviceMemoryBandwidth: 625.94GiB/s 2023-11-29 13:31:25.495831: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0 2023-11-29 13:31:25.506591: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.11 2023-11-29 13:31:25.506717: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublasLt.so.11 2023-11-29 13:31:25.508412: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcufft.so.10 2023-11-29 13:31:25.508899: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcurand.so.10 2023-11-29 13:31:25.509175: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcusolver.so.10'; dlerror: libcusolver.so.10: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /root/.mujoco/mujoco200_linux/bin:/root/.mujoco/mujoco200/bin:/root/.mujoco/mjpro150/bin:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/lib/nvidia-000 2023-11-29 13:31:25.510741: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusparse.so.11 2023-11-29 13:31:25.510973: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudnn.so.8 2023-11-29 13:31:25.510997: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1757] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform. Skipping registering GPU devices... [] --- docker/Dockerfile.softlearning.base.gpu | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/Dockerfile.softlearning.base.gpu b/docker/Dockerfile.softlearning.base.gpu index cd44dc301..7882310af 100644 --- a/docker/Dockerfile.softlearning.base.gpu +++ b/docker/Dockerfile.softlearning.base.gpu @@ -135,6 +135,9 @@ RUN echo "conda activate softlearning" >> ~/.bashrc \ RUN git config --global --add safe.directory /root/softlearning +RUN ln /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcusolver.so.11 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcusolver.so.10 +ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-11.3/targets/x86_64-linux/lib/ + # =========== Container Entrypoint ============= COPY ./docker/entrypoint.sh /entrypoint.sh From 533c0ef39272aef8d860bc20d83e98c7048d9266 Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 22:09:29 +0800 Subject: [PATCH 10/11] Increase docker container shm-size Reference: https://discuss.ray.io/t/docker-using-tmp-instead-of-dev-shm-because-dev-shm-has-only-31457280000-bytes-available/1404 Error message: 2023-11-29 13:55:49,114 WARNING services.py:1619 -- WARNING: The object store is using /tmp instead of /dev/shm because /dev/shm has only 67108864 bytes available. This will harm performance! You may be able to free up space by deleting files in /dev/shm. If you are inside a Docker container, you can increase /dev/shm size by passing '--shm-size=Xgb' to 'docker run' (or add it to the run_options list in a Ray cluster config). Make sure to set this to more than 2gb. --- docker/docker-compose.dev.gpu.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/docker-compose.dev.gpu.yml b/docker/docker-compose.dev.gpu.yml index b77ea1f0b..6b51311cd 100644 --- a/docker/docker-compose.dev.gpu.yml +++ b/docker/docker-compose.dev.gpu.yml @@ -29,3 +29,4 @@ services: - bash stdin_open: true tty: true + shm_size: '60gb' From 718e6f13330cd5fdeb7be7a9f154f174e5c1692e Mon Sep 17 00:00:00 2001 From: Johnson Sun Date: Wed, 29 Nov 2023 22:10:26 +0800 Subject: [PATCH 11/11] Update README to include hint on the `--trial-gpus` flag --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 451aa5249..cd8762753 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ You can access the container with the typical Docker [exec](https://docs.docker. ```sh docker exec -it softlearning-dev-gpu bash pip install -e . + # Make sure to add the `--trial-gpus` flag for the `softlearning` command. ``` See examples section for examples of how to train and simulate the agents.