NVIDIA 드라이버 설치: 호스트 시스템에 NVIDIA GPU 드라이버가 설치되어 있는지 확인해야 합니다.
설치되어 있지 않다면 NVIDIA 공식 웹사이트에서 드라이버를 다운로드하고 설치해주세요.
NVIDIA Container Toolkit 설치: Docker에서 GPU를 사용하려면 NVIDIA Container Toolkit이 필요합니다.
Container Toolkit은 다음 명령어를 사용하여 설치할 수 있습니다:
distribution=(. /etc/os-release;echo $IDVERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
# CUDA 11.5 및 cuDNN 8.3을 포함하는 이미지를 기반으로 합니다.
FROM nvidia/cuda:11.5.2-cudnn8-devel-ubuntu18.04
# 필요한 패키지 설치
RUN apt update && apt install -y \
g++-7 \
gcc-7 \
cmake \
wget \
zip \
unzip \
zlib1g-dev \
git \
software-properties-common
# CMake 최신 버전 설치
RUN apt remove -y --purge --auto-remove cmake && \
apt update && \
apt install -y apt-transport-https ca-certificates gnupg software-properties-common && \
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \
apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \
apt update && \
apt install -y cmake
# Python 3.8 설치
RUN add-apt-repository ppa:deadsnakes/ppa && \
apt update && \
apt install -y python3.8 python3.8-distutils python3.8-venv python3-pip
# Python 라이브러리 설치
RUN python3.8 -m pip install --upgrade pip && \
python3.8 -m pip install numpy pandas matplotlib tensorflow torch omegaconf click hydra-core
# 작업 디렉토리 설정
WORKDIR /workspace
# 저장소 복제
RUN git clone --recursive https://github.com/Totoro97/f2-nerf.git
# LibTorch 다운로드 및 압축 해제
WORKDIR /workspace/f2-nerf/External
RUN wget https://download.pytorch.org/libtorch/cu117/libtorch-cxx11-abi-shared-with-deps-1.13.1%2Bcu117.zip && \
unzip libtorch-cxx11-abi-shared-with-deps-1.13.1+cu117.zip
cd ..
cmake . -B build
cmake --build build --target main --config RelWithDebInfo -j
만약 안되면 -j 를 j1 로 바꿔서 해보면 됩니다.
코드짜는게 원래 환경설정이 반이라 하지만 f2nerf는 좀 심하네요, readme 대로 따라가도 제대로 되질 않고 설명도 상당히 불친절합니다.
왜 할때마다 결과가 다르지