Notice
Recent Posts
Recent Comments
Link
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

MuTa

Ubuntu server 18.04 + 개인용 머신러닝 서버 운영 본문

카테고리 없음

Ubuntu server 18.04 + 개인용 머신러닝 서버 운영

MuTa 2020. 1. 9. 18:46

할것 :   1. 원격 머신러닝 쥬피터 노트북 제공

          2. 원격 MS CODE 웹 앱 서비스 제공

조건 : PC + nvidia 그래픽 카드 ( 6.1 이상을 쓰기 위해 기본 케플러 칩셋 이상 이면 좋음 1060 ~)

        GDDR 많이 있는 것일 수록 편리함

        포트포워딩을 지원하고 DDNS를 지원하는 공유기

 

0. USB 로 iso 파일 다운 받아 rufus 로 부트 USB 제작 그리고 설치

  https://www.manualfactory.net/10853

     - 암호 비번 설정

 

1. SSH 오픈 (원격으로 기본 제어 하기 위해 )

 

https://cupjoo.tistory.com/98

   1-1 . ssh 설치

    sudo apt-get install ssh

   1-2 . 설정 수정

    sudo vi /etc/ssh/sshd_config

       - 아무것도 안나온다면 서버 실행 / 종료 수행 후 재시도

       - 포트 번호값 변경 저장 중요 (기본 22번 포트는 보안상 변경 하는것이 좋다)

       - ssh key 활성화

       - 저장은 esc -> :wq

    1-3. sudo service ssh start 

       - 변경 포트 확인 

       - netstat -al    //모든 리슨 확인

    1-4. 포트포워딩 및 DDNS 설정 확인 ( 제조사 마다 다름)

         - 시놀로지 라우터 를 쓰기때문에 편리하게 GUI 로 간단하게 설정 가능

         - 포트포워딩으로 1-2 에서 설정한 포트 번호 매칭

     1-5 외부에서 접속 test

         - putty 를 사용 하거나 MS Code 의 터미널을 사용 하거나/ git 설치 했으면 ssh명령어가 아마 등록 되어 있음

         - ssh 아이디@DDNS주소 -p 포트번호

         - 아이디 비번 입력 해서 접속 성공

         - 실패시 1 단계 과정에서 뭔가 문제가 있는 것 확인 필요함

 

2.  Nvidia 드라이버 설치

  https://hiseon.me/linux/ubuntu/install_nvidia_driver/

    2-1. sudo apt-get update && apt-get install -y dialog language-pack-en

          가 권한 에러 나서 

         sudo apt-get update 

         sudo apt-get install -y dialog language-pack-en 로 진행 함

 

    2-2. sudo apt-get install nvidia-driver-440

         지원 가능한 드라이버 검색 해보고 설치 진행

        sudo apt-get install dkms nvidia-modprobe

        이후 재시작

        sudo reboot

    2-3. 버전확인

        nvidia-smi

    2-4. 추가 사항(쿠다 툴킷 설치)

        sudo apt-get install nvidia-cuda-toolkit

 

3.  Docker 설치

https://hiseon.me/linux/ubuntu/install-docker/

   3-1. Docker ce 설치

   3-2. nvidia-docker2 설치

    sudo apt-get install -y nvidia-docker2

   3-3. docker 재 시작 

   3-4. sudo usermod -aG docker $USER  도커 권한 등록 (원격 시 재접속 필요)

  docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

 

 

4. 컨테이너 설치

   4-1. NGC 컨테이너 방문

  https://ngc.nvidia.com/catalog/containers?orderBy=modifiedDESC&query=&quickFilter=containers&filters=

    기본적으로 주피터가 설치 되어 있는 컨테이너를 제공하고, 최신 컨테이너는 Mixed Precision 을 제공한다.

    파이토치를 공부 중이기에

 

  4-2. 원하는 프레임 워크 선택 후  풀 명령어 복사

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

 

 

설치 이후 

설치 종료

docker images

이미지 정보

 

docker run -it -p <포트포워딩접근포트>:<내부컨테이너포트기본값8888> -v ~/doker:/data --name mutalab_pythorch be02 jupyter lab --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/data'

 

 

docker run 하자마자 바로 컨테이너가 생성되고 문제가 있을시 종료 되고 컨테이너는 종료된 채 남아 있게 된다.

따라서 

docker ps -a 를 이용하여 실패하거나 더이상 사용하지 않을 컨테이너는 삭제 해야 한다.

 

지우는 명령어는

docker rm 컨테이너아이디

 

 

몰랏던 부분은 

gpu 사용 하는 컨테이너 사용시 nvidia-docker 로 첫 실행 때 실행 시켰었는데

그냥 사용이 된다는 점.

 

끝에 /bin/bash 사용해서 내부에서 따로 주피터를 실행 했었는데

바로 명령어 칠수 있다는 것

 

-v 옵션은 호스트 디렉토리 : 컨테이너 디렉토리 를 자동 생성 해서 연결 가능 하고

-- name 설정 하는 방법

 

정도를 배움

 

잘됬음을 표현 하는 중

 

 

 

 

http://hostname:8888/ 를 실행하거나

미리 뚫어 놓은 포트포워딩 포트를 이용해서 시작하면 위 와 같이 나온다

 

 

 

나만 쓰고 싶으니 여기에 패스워드 기능을 활성화 - 참조

https://itlab.tistory.com/140

 

일단 한번 패스워드를 설정하고 나면 재시작을 해야 하는데

미리 설정한 docker restart 컨테이너아이디 혹은 이름

즉  위의 경우

docker restart 10df 

docker restart pythorch     <<오타로 잘못 이름 박힘;;

 

둘중 마음에 드는거로 실행

 

 

좀 범용의 컨테이너를 이용 하고 싶다면 

 

https://eungbean.github.io/2019/11/11/Docker-for-ai/

 

Docker installation for A.I. Researcher

Updated on 2019.11.11 : VS Code 및 쉘스크립트화, 대대적인 리팩토링 Shared on Tensorflow KR facebook group. 텐ㅡ하! 제가 처음 우분투를 설치했을때, Anaconda를 이용해서 TensorFlow를 설치했습니다. 하지만, 실험 중 사고(?)로 우분투 OS가 손상되었고, 실험컴퓨터 전체를 포맷하는 아픔을 겪었습니다. 우분투 부팅디스크 만들고, OS 다시깔고, nvidia 드라이버설치, CUDA, CuD

eungbean.github.io

내역을 참조 해도 좋을듯 하다.