P server - detectron 설치 실패-1

boingboing·2023년 10월 30일
0
  • 새 서버에 Detectron 2.0을 설치하여 작동이 제대로 되는지 확인

  • nvidia-driver, detectron, CUDA, CUDNN, pytorch 의 호환이 필요 함.

시도한 방법

- pytorch 2.1.0
- torchvision은 pytorch 2.1.0 설치하면 자동으로 따라오는 애로. 
- python: 3.10
- CUDA 12.1
- CUDA 12.1과 호환되는 CUDNN -> 8.9.x

1st 시도

  • 처음에는 detectron2가 CUDA 버전에 상관없이 동작하는 줄 알았고, 12.1 버전의 CUDA와 그에 맞는 CuDNN (8.9.0) 설치.

  • nvcc -V 가 안되서 재부팅 후, bashrc에 CUDA 디렉토리 등록.

export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
  • nvcc는 되었으나, pytorch에서 GPU가 인식이 안 되는 문제 발생

  • 확인
    : nvidia-smi

CUDA Version

  • nvidia-smi에서 나오는 CUDA 버전은, GPU driver installer에 의해 설치되는 것으로, driver API의 version을 보여 줌.

  • nvcc는 CUDA toolkit에 의해 설치되는 것으로, CUDA runtime version.

  • GPU Driver과 CUDA를 별도로 설치했다면, 이 둘의 버전이 다를 수 있음.

  • (추천이 아니라 최고 버전이란 말도 있고 뭐가 맞는거임?? 추천 맞음..? 추천해주는 것 뿐이라 현재 설치되어 사용하고 있는 CUDA version이 아님. 즉, CUDA가 안 깔려 있어도 nvidia-smi에는 이름이 뜸.)

  • nvidia-smi에서 추천해준 버전으로 별 생각 없이 설치

torch.is_available() 확인

  • is_available이 False로 나옴 -> pytorch가 현재 설치 된 CUDA와 호환 버전이 아닌 다른 버전으로 깔림
  • torch.1.10+cpu 이런 버전으로 torch가 깔리면 GPU가 인식을 못 함.
    -> torch를 CUDA 12.1과 호환되는 GPU 및 최신 버전(torch cuda2.1.0)으로 업그레이드.

CuDNN

  • CUDA 12.1과 호혼되는 CUDNN 8.9.1 버전을 다운로드(nvidia 사이트는 구글로 로그인) 후, cuda 폴더에 복사.
  • deb이 아닌 tar.gz파일 다운 후 압축해제.
  • 별달리 setup.py 등 실행하는게 아니라 그냥 cuda폴더에 복사 + 붙여넣기 하는거임.
  • 이 때 h 파일들의 symbolic link를 유지하기 위해 cp -aP 옵션 사용.

Result

  • 전부 다 잘 되었음! torch.is availiable도 True로 잘 뜸.
  • 그런데 detectron2에서 ......에러가...
  • detectron2와 호환되지 않는 CUDA를 사용할 경우 그렇다고 아니 아아악!

to be continued..

0개의 댓글