AI 딥러닝 시작:: 가상 환경 구현 ( Docker )

Uomnf97·2021년 4월 4일
0

딥러닝 입문하기 위해서 Boostcourse 강의에 있는 '파이토치로 시작하는 딥러닝 기초'라는 강의를 수강하게 되었다. Tensorflow는 대학에서, Pytorch는 실무에서 많이 쓰인다는 학회장님의 권유로 pytorch강의를 수강을 하게 되었다. 이 강의는 홍콩 과기대의 '모두를 위한 딥러닝' 시리즈 1의 후속작인 시즌2로 여러 강사님들께서 협업하여 제작을 해주셨다고 한다. 강의에서 코드와 실습, 간단한 프로젝트를 진행하며 수료증도 발급해준다고 하니, 혹시나 강의 내용을 더 알고 싶은 분들은 링크를 따라 들어가시면 좋을 것 같습니다!


AI 딥러닝의 시작 : 가상환경 구현

항상 컴퓨터 프로그래밍의 어떤 언어든, 어떤 프로젝트든 개발환경 설정이 가장 힘든 것 같다. 무거운 마음으로 시작되었지만 나름 빠르게 설정할 수 있는 가상환경이라 빠르게 설명하고 넘어가려고 한다.

Docker : 컨테이너 기반의 가상머신( Container Based on Virtualization)

  • 우선 virtualization 이란 무엇일까?
    Virtualization이란 가상공간을 만드는 것으로, 하나의 드라이브를 파티션을 통해 나누거나, 윈도우 OS에서는 가상머신을, 맥OS는 Parrallels를 다른 OS체제를 돌리는 것처럼 가상공간을 새롭게 할당하여 프로그램을 돌릴 수 있는 공간을 만드는 것을 의미한다.

많은 사람들이 응용프로그램을 컴퓨터에서 활용하다보면, OS를 나눠서 활용을 하다 보니, 프로그램이 느려지거나, 서로 엉키는 하는 문제로 다시 설정을 해줘야 하거나 재설치를 해야하는 경우가 있다. 따라서 Docker는 이러한 문제를 예방하고자, 집중 운영체제 위에다가 어느 컴퓨터에서든 똑같은 돌아가는 가상환경을 여러개 필요에따라 독립적으로 운영할 수 있게 된다. 즉 필요한 부분만 엮어서 가볍게 프로그램을 돌릴 수 있도록 컨테이너를 제공하는 것이다. 다만 리눅스 기반 서버이므로, 다른 os체제에서 활용할 경우 리눅스만큼 성능이 나오지 않거나, GPU를 활용할 수 없다는 단점이 있기도 한다.


설치 방법

  1. docker.com 사이트로 이동

  2. docker desktop에서 Download for Mac을 찾아서 클릭

  • 혹시 애플 M1칩을 사용하고 있다고 한다면 문제가 발생한다.
    다음과 같은 에러가 발생한다. 설정에서 바꿔줄 수 있지만, 이 사이트에서 다운로드를 하는것을 추천한다. 에러 없이 실행할 수 있다.
  1. 다운로드 완료!

  2. 이후 docker명령어는 터미널을 이용활용한다! 다음은 docker가 올바르게 설정됬는지 확인하는 명령어이다.

  • 명령어: docker version -버전 확인
    docker run hello-world-> Hello from docker 출력 여부 확인

Jupyter Notebook 설치

다음은 Jupyter Notebook을 docker로 설치하는 방법이다.

  1. $ docker pull deeplearningzerotoall/pytorch
    ### pytorch 이미지 다운로드 ###

  2. docker run -i -t --name pytorch_practice -p 8888:8888 -p 8097:8097 deeplearningzerotoall/pytorch /bin/bash
    ### pytorch 컨테이너 실행###

  3. Github아이디를 이용하여 https://github.com/deeplearningzerotoall/PyTorch 에 있는 공유 workspace를 fork하여 본인 계정에 저장소 옮기기-> fork된 파일의 주소를 저장-> 터미널 내부에서 pytorch_practice 실행 뒤 ->git clone 명령어를 이용하여 설치

  4. cd PyTorch : PyTorch 파일에 들어가기
    pip install --upgrade pip : 업그레이드
    pip install -r requirements.txt : txt파일에 있는 프로그램 설치
    jupyter notebook --ip 0.0.0.0 --allow-root : 주피터 실행
    sh run_jupyter_docker.sh : 항상 jupyternotebook 실행

처음 아이피 주소랑 토큰을 이용하여 접속할것!


Docker 명령어

$ root@[고유번호]:~# exit : 도커 종료
$ docker ps -a=:도커 컨테이너 status 확인
$ docker start :도커 컨테이너 키기
$ docker attach : 도커 컨테이너 내부쉘로 전환
Ctrl + p Ctrl + Q: 도커 컨테이너 켜둔채 나오기
컨테이너 주소 확인법: docker inspect [ 컨테이너 이름 ]에서
"IPAddress: " 부분을 확인할 것! -

  • 리눅스 작업 복귀 fg %1

이때 --name뒤에 이름을 두어 컨테이너 이름을 만들어줄 수 있다!
참고: 파이토치로 시작하는 딥러닝 기초

profile
사회적 가치를 실현하는 프로그래머

0개의 댓글