Open3

Open-Sora-PlanのローカルDocker環境を作る

T_SumidaT_Sumida

Google Colab (A100)であれば実行できるらしいので、その環境をまねたDockerイメージを作成する。

requirements.txtを用意

torch # 2.2.2
torchvision
transformers
spaces
imageio==2.31.6
imageio-ffmpeg==0.4.9
diffusers==0.24.0
gradio==3.50.2
einops==0.7.0
omegaconf==2.1.1
pytorch-lightning==1.4.2
torchmetrics==0.6.0
torchtext==0.6
accelerate==0.28.0
T_SumidaT_Sumida

Dockerfileを作成

FROM nvcr.io/nvidia/cuda:12.1.0-cudnn8-devel-ubuntu20.04

WORKDIR /workdir
# 環境変数を設定
ENV TZ=Asia/Tokyo
ENV DEBIAN_FRONTEND=noninteractive

# ライブラリをインストール
RUN apt-get update && \
    apt-get install -y software-properties-common tzdata
RUN add-apt-repository ppa:deadsnakes/ppa
RUN apt-get update -y \
    && apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
    libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \
    liblzma-dev python-openssl git vim less

# pyenvをインストール
##環境変数の設定
ENV HOME /root
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH $PYENV_ROOT/bin:$PATH
ARG PYTHON_VERSION="3.11.4"

RUN git clone https://github.com/pyenv/pyenv.git ~/.pyenv
RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc && \
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc && \
    echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
RUN eval "$(pyenv init --path)"
## 指定したPythonをインストールしグローバルで認識するように設定
RUN pyenv install $PYTHON_VERSION && \
    pyenv global $PYTHON_VERSION

COPY requirements.txt .
RUN . ~/.bashrc && pip install --upgrade pip && pip install -r requirements.txt
RUN rm requirements.txt

ENTRYPOINT "bash"