first commit

This commit is contained in:
Nicklas Hansen
2023-10-25 18:26:00 -07:00
commit b67b21c5c6
165 changed files with 16364 additions and 0 deletions

59
docker/Dockerfile Normal file
View 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
View 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
View File

@@ -0,0 +1,7 @@
{
"file_format_version" : "1.0.0",
"ICD": {
"library_path": "libGLX_nvidia.so.0",
"api_version" : "1.2.155"
}
}