본문 바로가기

Data-science/deep learning

[nvidia-docker] NGC 설치로 pytorch build 필요없이 실행하기 - nvidia imaginaire 이용하는 법

728x90

하게된 배경

github.com/NVlabs/imaginaire

 

NVlabs/imaginaire

NVIDIA PyTorch GAN library with distributed and mixed precision support - NVlabs/imaginaire

github.com

imaginaire라는 라이브러리가 있다. 해당 라이브러리는 cuda 10.2로만 동작한다.

RTX 30 시리즈는 cuda 10.2에서 지원하지 않는다는 게 문제...

apex라는 라이브러리가 torch와 뭔가 연동이 되지 않아서 빌드부터 다시 해야한다고 들었다.

그런데 우리의 NGC는 apex와의 build를 cuda 11.2에서도 다 해놓았다! (NGC는 Nvidia Gpu Cloud의 약자로 Nvidia에서 AI를 쉽게 할 수 있게 만들어 놓은 이미지인듯하다!)

그러니 이걸 활용하자.

 

pytorch NGC를 검색하면 나오는 위 사이트.

ngc.nvidia.com/catalog/containers/nvidia:pytorch

 

NVIDIA NGC

 

ngc.nvidia.com

1. image를 우선 pull 한다.

docker pull nvcr.io/nvidia/pytorch:21.02-py3

pytorch 뒤에 21.02 이 버전은 변하니까 위 사이트를 참고해서 원하는 버전으로 받도록하자.

이미지 다운 받는 중
docker images라고 치면 잘 다운 받아졌다. 

2. interactive한 환경에서 image를 실행한다. 

이전 버전에서는 nvidia-docker라는 명령어를 사용해야 했지만, 이제는 docker run --gpus '숫자 혹은 all' 라고 --gpus라는 옵션을 추가해주면 된다.

local_dir는 현재 삽질하고 계신 PC의 dir를 넣어준다.

container_dir는 docker image를 run하면 생기는 경로인데 아마 모를거다.

대충 이렇게 입력하면 된다.

docker run --gpus all -it --rm -v /home/yourname/code/imaginaire:/workspace/imaginarie nvcr.io/nvidia/pytorch:21.02-py3

내 경우 imaginaire라는 코드를 돌리기 위한 작업이므로 경로를 이렇게 했다.

container 이미지 실행하면 local 경로가 여기에도 추가된 걸 볼 수 있다!

즐딥러닝 하시길!