딥러닝 개발을 위한 Docker 설정

 

 

  NVIDIA NGC (NVIDIA GPU Cloud)는 NVIDIA에서 제공하는 클라우드 기반 소프트웨어 허브다. 이 플랫폼은 머신 러닝, 딥 러닝, 데이터 과학, HPC(고성능 컴퓨팅) 애플리케이션을 가속화하기 위해 최적화된 AI 소프트웨어 및 HPC 애플리케이션의 광범위한 카탈로그를 제공한다. NGC의 주요 특징은 다음과 같다:

NGC의 핵심 요소

  1. 컨테이너: NGC는 다양한 AI 및 HPC 애플리케이션을 위한 사전 구성 및 최적화된 컨테이너를 제공한다. 이 컨테이너들은 NVIDIA GPU를 활용해 최적의 성능을 발휘하도록 설계되었다.
  2. 모델 스크립트 및 예제: 사용자가 빠르게 시작할 수 있도록 다양한 딥 러닝 모델 및 스크립트를 제공한다. 이러한 예제는 사용자가 자신의 데이터셋에 적용하여 학습을 가속화할 수 있도록 도와준다.
  3. 헬리콥터 카탈로그: NGC는 AI, 데이터 과학, HPC 작업을 위한 다양한 소프트웨어 및 애플리케이션을 포함하고 있다. 이들은 NVIDIA의 최신 GPU 아키텍처에 최적화되어 있다.

NGC의 주요 이점

  1. 생산성 향상: NGC를 사용하면 복잡한 소프트웨어 스택 설정 및 구성에 드는 시간과 노력을 줄일 수 있다. 사전 구성된 컨테이너와 최적화된 환경 덕분에 개발자와 데이터 과학자는 빠르게 작업을 시작하고 집중할 수 있다.
  2. 확장성: 클라우드, 온프레미스, 엣지 환경 등 다양한 환경에서 NGC 컨테이너를 사용할 수 있다. 이는 작업 환경에 관계없이 일관된 성능과 경험을 제공한다.
  3. 최신 기술 접근: NVIDIA는 지속적으로 NGC 컨테이너와 소프트웨어를 업데이트하며 최신 GPU 기술을 지원한다. 이를 통해 사용자는 최신 AI 및 HPC 기술을 쉽게 활용할 수 있다.

사용 사례

  • 딥 러닝 및 머신 러닝: 데이터 과학자와 연구원은 NGC를 활용해 복잡한 딥 러닝 모델을 빠르게 훈련시키고 배포할 수 있다.
  • 고성능 컴퓨팅: 과학자와 엔지니어는 HPC 애플리케이션을 위한 최적화된 환경에서 복잡한 시뮬레이션과 계산 작업을 수행할 수 있다.

 

사용 예시

1. Running PyTorch Using Docker

해당 튜토리얼에서는 python 3.8 버전을 기준으로 pytorch 이미지를 가져온다.

Docker 버전이 19.03 이상일 경우

$ docker run --gpus all -it --rm nvcr.io/nvidia/pytorch:22.03-py3

Docker 버전이 19.03 아래 버전일 경우

$ nvidia-docker run -it --rm nvcr.io/nvidia/pytorch:22.03-py3

이미 image가 있는 경우 환경이 바로 실행되고, 없는 경우 image를 pull 한 다음 실행된다.

nvidia-smitorch.cuda.is_available 실행되면 현재 gpu와 맞는 버전을 설치한 것.

(Local에서 바로 테스트하는 것 보다 사용할 환경에서 버전을 맞추는 것이 더 좋음)

$ python

>>> import torch
>>> print(torch.cuda.is_available())
True

해당 환경에서 pytorch를 실행하다가 memory 오류가 나면 --ipc=host 인자를 추가해주면 된다.

2. 추가 라이브러리 설치

해당 환경을 기준으로 필요한 여러 라이브러리를 설치

$ pip install opencv-python timm

3. Docker 이미지 파일 저장

Docker 이미지 파일을 저장하려면 docker 이미지를 실행할 때 아래 명령어로 실행해야한다.

$ docker run --gpus all -it --name "Docker Name" nvcr.io/nvidia/pytorch:22.03-py3

 

이후에 추가 라이브러리 설치 후 exit

docker ps -a : 모든 컨테이너를 출력

$ docker ps -a

CONTAINER ID IMAGE COMMAND ...    NAMES
                               "Docker Name"

 

Docker 이미지 커밋 및 .tar 로 저장

$ docker commit "Docker Name" "Name:Tag"

$ docker save -o "파일명.tar" "Name:Tag"

 

'Programming > Docker' 카테고리의 다른 글

Docker 이미지 공유하기  (1) 2024.10.01
Docker 이미지 만들기  (3) 2024.09.30
Docker 설치 및 사용법  (1) 2024.09.20
Docker란?  (0) 2024.09.04