본 글은 https://github.com/luost26/DMRDenoise 에 업로드 되어있는 DMRDenoise의 Pre-trained model을 직접 실행해보고 결과값을 검증해보는 과정이 기록되어 있는 글입니다.
잘못 이해한 개념이나 부적절하게 사용된 자료가 있다면 댓글로 알려주시면 감사하겠습니다!
M1에서 실행을 시도했지만, NVIDIA계열이 아닌 apple 자체 생산 그래픽카드를 사용하는 M1의 특성 상 실패했다.
모델에서는 NVCC (NVIDIA CUDA Compiler) 설치를 필요로 하기 때문이다.
소유 중인 pc의 그래픽 관련 사양
우선, 해당 PC의 그래픽 카드는 RTX 3090이다.
DMRDenoise 라는 이름의 venv 생성.
conda create --name DMRDenoise python=3.6
🚨문제 발생
CondaHTTPError: HTTP 000 CONNECTION FAILED
solution
./Anaconda3/Library/bin
경로에서 아래 파일들을 복사하여
libcrypto-1_1-x64.dll
libcrypto-1_1-x64.pdb
libssl-1_1-x64.dll
libssl-1_1-x64.pdb
./Anaconda3/DLLs
경로에 붙여넣기 하면 해결이 된다.
DMRDenoise를 activate하기
conda activate DMRDenoise
모델링에 필요한 패키지들 : pytorch, scikit-learn, cudatoolkit, torchvision, pytorch lightning, h5py
conda install -y pytorch=1.5.1 torchvision=0.6.1 cudatoolkit=9.2 -c pytorch
conda install -y scikit-learn=0.23.1
conda install -y -c conda-forge h5py=2.10.0 pytorch-lightning=0.7.6
🚨두가지 문제가 발생했다.
OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root
conda deactivate
후에 original PC에 cudatoolkit을 깔아보기./CUDA
)ValueError: Unknown CUDA arch (8.6) or GPU not supported
packages install 과정에서 cudatoolkit=11.0
으로 다시 설정해서 install을 시도해보았다.
그러자 다른 package들에 비해 cudatoolkit=11.0
의 버전이 너무 높아 conflict가 발생했다.
다른 package의 버전은 default로 설정한 후 모든 package들을 재설치했다.
pytorch=1.5.1
이 아니라 그냥 pytorch
라고만 입력했다는 것. pytorch=1.7.1
, pytorch-lightning=1.4.5
, h5py=2.10.0
, scikit-learn=0.23.1
, torchvision=0.8.2
, cudatoolkit=11.0
가 되었다.conda install -y pytorch torchvision cudatoolkit=11.4 -c pytorch
conda install -y scikit-learn=0.23.1
conda install -y -c conda-forge h5py pytorch-lightning
cudatoolkit=11.0
에 맞춘 패키지 버전들을 설치한 채로 진행하니 setup.py install에 성공했다.
airplane_0016.obj.xyz
이라는 파일을 우선 meshlab을 통해 어떤 data인지 확인해보았다.normal vectors가 포함되지 않은 .xyz 파일이므로 normals를 이용한 screened poisson reconstruction은 진행하지 못했고, 대신 Ball Pivoting을 함
해당 파일을 command에서 input으로 입력했다.
python denoise.py --input ../dataset_test/input_full_test_50k_0.010/airplane_0016.obj.xyz --output ./output_airplane.obj.xyz --ckpt ./pretrained/supervised/epoch=153.ckpt
🚨 문제발생
cudatoolkit=11.0
에 맞춰서 설치된 pytorch-lightning=1.4.5
가 문제가 된 모양이다.TypeError: init() missing 1 required positional argument: 'hparams'
pytorch-lightning=0.7.6
을 권장했으며 issue를 찾아봐도 동일한 문제가 발생한 사람들은 없었기에 GPU 버전으로 인해 불가피하게 pytorch-lightning=1.4.5
를 설치하면서 hparams
가 필요한 패키지로 실행해버린 것이 아닌가라는 추측이다.conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge
cudatoolkit=11.1
을 설치하려면 conda-forge
가 추가되야한다고 한다. pytorch-lightning=0.7.6
설치도 문제 없이 설치가 되었다.Ball Pivoting 결과
noisy airplane
denoised airplane