F2-NeRF 트레이닝 시키기

코드짜는침팬지·2023년 11월 5일
0

학부 연구생

목록 보기
10/10

f2-nerf 주소
약 2주일간의 고생끝에 드디어 F2-NeRF의 환경설정이 완료됐습니다.
제가 사용해본 트레이닝 방법,문제들을 공유 해보려 합니다.

dockerfile 만들기

환경설정은 DOCKER를 사용합니다.
현재 중국에서 서버를 이용하고 있어 중국 전용 키가 몇가지 있습니다.
uforym은 올인원 패키지라 보시면됩니다. 쿠다 cudnn 등등 전부 설치되는 버전인데
다음설정을 사용시 cmake error가 해결 되었습니다.

FROM ufoym/deepo:all-py38-cu113 

# 필요한 패키지 설치 및 CMake 최신 버전 설치
RUN apt update && apt install -y \
    g++-7 \
    gcc-7 \
    wget \
    zip \
    unzip \
    zlib1g-dev \
    git \
    software-properties-common \
    apt-transport-https \
    ca-certificates \
    gnupg \
    && 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 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Python 3.8 설치 및 Python 라이브러리 설치
RUN add-apt-repository ppa:deadsnakes/ppa \
    && apt update \
    && apt install -y python3.8 python3.8-distutils python3.8-venv python3-pip \
    && python3.8 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip \
    && python3.8 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy pandas matplotlib tensorflow torch omegaconf click hydra-core

# 작업 디렉토리 설정
WORKDIR /workspace

설정이 완료되면 컴파일 진행해주시면 됩니다.

cd ..
cmake . -B build
cmake --build build --target main --config RelWithDebInfo -j

굳이 build 부분을 따로 해준 이유는 이부분에서 오류가 자주 발생해서 그랬습니다.
-j는 병렬연산을 한다는 뜻으로 만약에 j가 안될 시 j1로 변경해서 하시면 됩니다.

traning example

f2-nerf에서 다음 명령어를 실행 해주세요

python scripts/run.py --config-name=wanjinyou dataset_name=example case_name=ngp_fox mode=train +work_dir=$(pwd)

render test images

python scripts/run.py --config-name=wanjinyou dataset_name=example case_name=ngp_fox mode=test is_continue=true +work_dir=$(pwd)

Render path

python scripts/inter_poses.py --data_dir ./data/example/ngp_fox --key_poses 5,10,15,20,25,30,35,40,45,49 --n_out_poses 200

custom data training

21번 줄이 원래 USE_GPU=1로 되어 있습니다. 이걸 0으로 바꿔주신 다음

다음 파일을 설치해주세요
vocab_tree

설치하신 다음 24번 줄의 VOCABTREE_PATH의 경로를
본인이 설치하신 PATH로 해주시면 됩니다.

다음과 같은 로그가 나오면 잘 되고 있는 겁니다.


마지막에 이런 로그가 나오면 실패인데 원인은 여러가지가 있을 수 있는데,
저같은 경우는 서버에 example 이미지가 제대로 업로드 안된 이유로 헤맸습니다.

생성된 데이터의 sparese/0 에 다음과 같은 목록이 나온다면 성공입니다.

이제 colmap2poses.py로 camera pose를 생성하고

python scripts/colmap2poses.py --data_dir ./data/your-dataset-name/your-case-name

다음 명령어를 입력하면 실행 됩니다.

python scripts/run.py --config-name=wanjinyou dataset_name=example case_name=my_case mode=train +work_dir=$(pwd)

gpu 사용이 안되니 colmap sfm 이 너무 느린 문제가 있습니다.

profile
학과 꼴찌 공대 호소인

0개의 댓글