1차 시도

docker image

docker pull nvcr.io/nvidia/pytorch:19.10-py3
  • NVIDIA CUDA 10.1.243

 

docker container

NV_GPU=1 docker run --runtime=nvidia --name bernice-romp --shm-size 4G -it -v $(pwd):/workspace -v $(readlink -f disk1):/disk1 nvcr.io/nvidia/pytorch:19.10-py3 /bin/bash
python -V

# python
import torch
print(torch.__version__)
print(torch.version.cuda)
  • Python 3.6.9 :: Anaconda, Inc.
  • 1.3.0a0+24ae9b5
  • 10.1.243

 

git clone -b master --single-branch https://github.com/Arthur151/ROMP

wget https://github.com/Arthur151/ROMP/releases/download/v1.1/model_data.zip
wget https://github.com/Arthur151/ROMP/releases/download/v1.1/trained_models_try.zip
wget https://github.com/Arthur151/ROMP/releases/download/v1.1/demo_videos.zip

unzip model_data.zip -d ./ROMP/
unzip trained_models_try.zip -d ./ROMP/
unzip demo_videos.zip -d ./ROMP/

pip install smplx

apt-get update
apt-get install libc++-7-dev libglu1-mesa libglu1-mesa-dev
apt-get install liblzma-dev

<python 3.8 로 맞추기> 참고

→ SSLError 발생하여 이 블로그 참고 (파이썬 빌드 다시 해야 함)

 

!pip install torch==1.10.0 torchvision==0.11.1 smplx
!pip uninstall -y pytorch3d

python -V

# python
import torch
print(torch.__version__)
print(torch.version.cuda)

pip install https://github.com/Arthur151/ROMP/releases/download/v1.1/pytorch3d-0.6.1-cp38-cp38-linux_x86_64.whl

# Building wheel for opencv-contrib-python (PEP 517) 에서 넘어가지 않는 에러
pip install --upgrade pip setuptools wheel

pip install -r requirements.txt
pip install -U PyYAML numpy imgaug

→ 필요한 거 설치하고 파이썬 재빌드 하는 과정 반복

 

RuntimeError: CUDA error: no kernel image is available for execution on the device

 

export TORCH_CUDA_ARCH_LIST=8.6
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 -f https://download.pytorch.org/whl/torch_stable.html

 

Frankmocap 과 같은 식으로 에러가 발생하는데

  • pytorch cuda가 되면 pytorch3d가 안 되고 (ImportError: libcudart.so.10.2: cannot open shared object file: No such file or directory/ImportError: /usr/local/lib/python3.8/site-packages/pytorch3d/_C.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_11DispatchKeyE)
  • pytorch3d가 되면 pytorch cuda가 안 된다 (RuntimeError: CUDA error: no kernel image is available for execution on the device)

2차 시도

2022년 3월 25일

 

pytorch cuda 와 pytorch3d 가 충돌하는 상황

→ save_visualization_on_img 플래그를 끄면 pytorch3d 를 사용하지 않아도 됨 (최근 업데이트에 반영된 사항)

 

pytorch cuda 가 가능하도록 nightly 버전으로 설치 (이전에 해결한 바 있음)

export TORCH_CUDA_ARCH_LIST=8.6
pip uninstall torch
pip uninstall torchvision
pip uninstall torchaudio
pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cu113/torch_nightly.html

이러한 에러 발생

docker 대신 conda 환경으로 재시도

conda create -n romp-env python==3.7.6
conda activate romp-env
conda install -n romp-env pytorch==1.10.0 torchvision==0.11.1 cudatoolkit=10.2 -c pytorch  
cd ROMP
pip install -r requirements.txt
pip install setuptools==60.1.0

conda install -c conda-forge opencv
conda install -c conda-forge prettytable
conda install -c conda-forge pycocotools
conda install -c conda-forge lap
conda install -c conda-forge trimesh
 + tensorboard, pyyaml, h5py, scipy, imgaug, joblib, plotly, pandas, ipywidgets
 + norfair

pip install smplx
git clone https://github.com/vchoutas/smplx
python setup.py install

python3 -m pip install chumpy

# demo_utils.py 에서 import keyboard, from transforms3d.axangles import axangle2mat
주석처리

# romp.predict.video 에서 import keyboard, norfair 관련 주석처리 (make_tracking)
python -m romp.predict.video --inputs=demo/videos/tiktok03.MP4 --output_dir=demo/tiktok03_results --save_dict_results --configs_yml=configs/video_blender.yml

저기서 더이상 진행되지 않음

 

3차 시도: 성공

 

  • 레파지토리는 2차 시도에서 수정한 그대로 사용 (make_tracking, 시각화 등에서 요구하는 라이브러리는 생략하도록 주석처리함)

 

  1. docker container
NV_GPU=0 docker run --runtime=nvidia --name bernice-romp --shm-size 4G -it -v $(pwd):/workspace -v $(readlink -f disk1):/disk1 nvcr.io/nvidia/pytorch:19.10-py3 /bin/bash

 

2. python 3.8 버전으로 업데이트 (여기 참고)

before Python 3.6.9 :: Anaconda, Inc.

after Python 3.8.13

 

3. 환경 세팅

pip install smplx
apt-get update
apt-get install libc++-7-dev libglu1-mesa libglu1-mesa-dev
apt-get install liblzma-dev

# nvcc -V 확인 후 https://pytorch.kr/get-started/locally/ 이곳에서 nightly 설치
python -m pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cu102/torch_nightly.html

# numpy 빌딩 중 에러
python -m pip install --upgrade cython

파이토치 확인

import torch
print(torch.__version__)  #'1.12.0.dev20220324+cu102'
print(torch.version.cuda) # '10.2'

이후 cv2 등 필요한 라이브러리 설치

 

이미지를 저장하지 않는 오류가 계속 발생 opencv-python 재설치 하여 해결

 

RuntimeError: CUDA error: no kernel image is available for execution on the device

 
export TORCH_CUDA_ARCH_LIST=8.6
python -m pip uninstall torch

# nvcc -V 로 cuda 버전 확인
python -m pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cu101
--> 어떻게 해도 해결되지 않음 ..

 

DeepSIM 때 썼던 docker image 로 새로운 컨테이너 생성 (bernice-romp2

NV_GPU=0 docker run --runtime=nvidia --name bernice-romp2 --shm-size 4G -it -v $(pwd):/workspace -v $(readlink -f disk1):/disk1 nvcr.io/nvidia/pytorch:20.12-py3 /bin/bash
pip install --pre torch torchvision torchaudio -f https://download.pytorch.org/whl/nightly/cu113/torch_nightly.html
pip install -r requirements.txt

성공 ㅠㅠ

'컴퓨터 > Docker' 카테고리의 다른 글

docker - pull, run 실습 + tmux  (0) 2022.08.11
docker - 각종 트러블슈팅  (0) 2022.08.11
복사했습니다!