개발 환경/Docker

[Docker for ML #4] 딥러닝 학습 시작하기

HanSeokhyeon 2020. 8. 28. 17:32
반응형

123편에서 docker의 기본적인 명령어와 사용법을 익혔다. 이제 진짜 학습을 시작해보자.

 

1. --rm 옵션

--rm 옵션은 컨테이너가 내려가면 바로 컨테이너를 삭제하는 옵션이다. 딥러닝을 학습할 때 보통 코드가 다 돌고 컨테이너를 나가면 더이상 필요가 없기 때문에 이 옵션을 자주 사용하게 된다.

 

2. bash로 들어가서 명령어를 두번 실행하지 말자.

이해를 위해 계속 bash로 들어갔지만 사실 그냥 바로 python 명령어를 실행해도 된다.

docker run --rm --gpus=all -v ~/PycharmProjects/mnist:/opt/project tensorflow2 python main.py
  • docker run
    • --rm: 컨테이너 삭제
    • --gpus=all: GPU 사용
    • -v ~/PycharmProjects/mnist:/opt/project: 마운트
    • tensorflow2: 이미지 이름
    • python main.py: 명령어 실행

 

3. Dockerfile에서 CMD를 사용하자.

FROM		tensorflow/tensorflow:latest-gpu
MAINTAINER	sah0322@naver.com

RUN         apt-get -y update

RUN		    pip install --upgrade pip
RUN		    pip install	tensorflow_datasets pymongo sklearn pyyaml python-Levenshtein

WORKDIR		/opt/project

CMD         ["python", "./main.py"]

 

Dockerfile 맨 아래에 CMD를 사용하면 컨테이너가 실행될 때 아무런 명령어를 주지 않으면 저 CMD에 있는 명령이 실행된다.

그러면 이제 명령을 실행할 때

docker run --rm --gpus=all -v ~/PycharmProjects/mnist:/opt/project tensorflow2

까지만 적으면 된다.

 

4. 결론

이정도만 알면 딥러닝 개발자가 Docker를 사용하는데에는 아무런 지장이 없을 것이다!

차후에 검색해보면 좋은 것

  • Docker compose
  • Kubernetes
  • MLOps
  • Kubeflow
반응형