first commit
This commit is contained in:
59
docker/Dockerfile
Normal file
59
docker/Dockerfile
Normal file
@@ -0,0 +1,59 @@
|
||||
##########################################
|
||||
# Dockerfile for TD-MPC2 #
|
||||
# TD-MPC2 Anonymous Authors, 2023 (c) #
|
||||
# -------------------------------------- #
|
||||
# Instructions: #
|
||||
# docker build . -t <user>/tdmpc2:0.1.0 #
|
||||
# docker push <user>/tdmpc2:0.1.0 #
|
||||
##########################################
|
||||
|
||||
# base image
|
||||
FROM nvidia/cudagl:11.3.1-devel-ubuntu20.04
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# packages
|
||||
RUN apt-get -y update && \
|
||||
apt-get install -y --no-install-recommends build-essential git nano rsync vim tree curl \
|
||||
wget unzip htop tmux xvfb patchelf ca-certificates bash-completion libjpeg-dev libpng-dev \
|
||||
ffmpeg cmake swig libssl-dev libcurl4-openssl-dev libopenmpi-dev python3-dev zlib1g-dev \
|
||||
qtbase5-dev qtdeclarative5-dev libglib2.0-0 libglu1-mesa-dev libgl1-mesa-dev libvulkan1 \
|
||||
libgl1-mesa-glx libosmesa6 libosmesa6-dev libglew-dev mesa-utils && \
|
||||
apt-get clean && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
mkdir /root/.ssh
|
||||
|
||||
# miniconda
|
||||
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
|
||||
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
|
||||
rm ~/miniconda.sh && \
|
||||
. /opt/conda/etc/profile.d/conda.sh && \
|
||||
conda init && \
|
||||
conda clean -ya
|
||||
ENV PATH /opt/conda/bin:$PATH
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
# conda environment
|
||||
COPY nvidia_icd.json /usr/share/vulkan/icd.d/nvidia_icd.json
|
||||
COPY environment.yaml /root
|
||||
RUN conda env update -n base -f /root/environment.yaml && \
|
||||
rm /root/environment.yaml && \
|
||||
cd /root && \
|
||||
python -m mani_skill2.utils.download_asset all -y && \
|
||||
conda clean -ya && \
|
||||
pip cache purge
|
||||
|
||||
# environment variables
|
||||
ENV MUJOCO_GL egl
|
||||
ENV MS2_ASSET_DIR /root/data
|
||||
ENV LD_LIBRARY_PATH /root/.mujoco/mujoco210/bin:${LD_LIBRARY_PATH}
|
||||
|
||||
# mujoco (required for metaworld)
|
||||
RUN mkdir -p /root/.mujoco && \
|
||||
wget https://www.tdmpc2.com/files/mjkey.txt && \
|
||||
wget https://github.com/deepmind/mujoco/releases/download/2.1.0/mujoco210-linux-x86_64.tar.gz && \
|
||||
tar -xzf mujoco210-linux-x86_64.tar.gz && \
|
||||
rm mujoco210-linux-x86_64.tar.gz && \
|
||||
mv mujoco210 /root/.mujoco/mujoco210 && \
|
||||
mv mjkey.txt /root/.mujoco/mjkey.txt && \
|
||||
python -c "import mujoco_py"
|
||||
67
docker/environment.yaml
Normal file
67
docker/environment.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
name: tdmpc2
|
||||
channels:
|
||||
- pytorch-nightly
|
||||
- nvidia
|
||||
- anaconda
|
||||
- conda-forge
|
||||
- defaults
|
||||
dependencies:
|
||||
- python=3.9.0
|
||||
- pytorch
|
||||
- torchvision
|
||||
- cudatoolkit=11.7
|
||||
- fluidsynth
|
||||
- portaudio
|
||||
- glew
|
||||
- glib
|
||||
- pillow
|
||||
- pip
|
||||
- pip:
|
||||
- absl-py
|
||||
- click
|
||||
- cloudpickle
|
||||
- gpustat
|
||||
- glfw
|
||||
- kornia
|
||||
- termcolor
|
||||
- gym==0.21.0
|
||||
- pandas
|
||||
- moviepy
|
||||
- ffmpeg
|
||||
- imageio
|
||||
- imageio-ffmpeg
|
||||
- lxml
|
||||
- pyparsing
|
||||
- omegaconf
|
||||
- hydra-core
|
||||
- hydra-submitit-launcher
|
||||
- submitit
|
||||
- patchelf
|
||||
- protobuf
|
||||
- scipy
|
||||
- tqdm
|
||||
- xmltodict
|
||||
- transforms3d
|
||||
- joblib
|
||||
- scikit-image
|
||||
- einops
|
||||
- opencv-python
|
||||
- opencv-contrib-python
|
||||
- filelock
|
||||
- sapien==2.2.1
|
||||
- mani-skill2==0.4.1
|
||||
- tabulate
|
||||
- h5py
|
||||
- trimesh
|
||||
- open3d
|
||||
- rtree
|
||||
- seaborn
|
||||
- mujoco==2.3.1
|
||||
- mujoco-py==2.1.2.14
|
||||
- dm-control
|
||||
- plotly
|
||||
- pyquaternion
|
||||
- git+https://github.com/Farama-Foundation/Metaworld.git@04be337a12305e393c0caf0cbf5ec7755c7c8feb
|
||||
# - myosuite # MyoSuite requires gym==0.13.0 which conflicts with Meta-World & ManiSkill2, install separately if needed
|
||||
- tensordict-nightly
|
||||
- torchrl-nightly
|
||||
7
docker/nvidia_icd.json
Normal file
7
docker/nvidia_icd.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"file_format_version" : "1.0.0",
|
||||
"ICD": {
|
||||
"library_path": "libGLX_nvidia.so.0",
|
||||
"api_version" : "1.2.155"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user