본문 바로가기
배움 로그/data science

GCP에 나만의 docker 기반 분석 환경 jupyterlab(GPU) 만들기

by eple 2023. 1. 10.
728x90
반응형

목차

     

    잘 안 쓸 거 같지만 이상하게도 
    나만의 분석 환경을 갖고 싶다ㅎㅎ

    내 노트북에는
    AI를 학습시킬 GPU가 없기 때문에 

    Google Cloud Platform을 활용하여
    docker기반 gpu 활용가능한
    jupyter lab을 실행해 보잣 

     

        ① Google Cloud Platform을 활용하여 VM 할당받기 만들기

    크게는 3단계 정도로 구분된다. 

    1. GCP에서 GPU가 있는 VM(Virtual Machine)을 신청하자
    2. 외부에서 접속가능한 External IP를 구성하고 
    3. 방화벽을 열어준다 
    4. 그리고 GCP SSH를 클릭하여 접속! 

    1에서 바로 신청가능하지 않고 하루이틀 기다려서 메일이 오는 경우도 있으니 참고!
    보통 한달에 15,000~20,000원 사이의 지출이 이루어진다. 

     

    Setting up Jupyter Lab Instance on Google Cloud Platform

    Google Cloud Platform very easy option to access Jupyter Lab instance via the Google Cloud’s AI Platform.

    medium.com

     

        ② GPU 드라이버를 설치해 주기

    ML/AI 모델 학습 시 GPU에 접근하여 활성화할 수 있게 해 주기 위해 Nvidia Driver를 설치해야 한다. 

     

    GPU 드라이버 설치  |  Compute Engine 문서  |  Google Cloud

    의견 보내기 GPU 드라이버 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Linux Windows 하나 이상의 GPU로 인스턴스를 만든 후에는 애플리케이션이 기기에

    cloud.google.com

    위 공식 문서와 아래 이미지와 같이 nvidia-smi 명령어를 통해 인식이 잘되는지 까지 확인해야 한다. 

    nvidia-smi 결과
    nvidia-smi로 driver 인식되는 것 확인하기

     

        ③ Docker 설치하기 (opencv 설치) 

    VM + Nvidia Driver 위에 python 버전, 라이브러리 등을 쉽게 관리하기 위한 Docker를 설치한다. 

     

    초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기

    초보를 위한 도커 안내서 2번째 글입니다. 도커의 기본적인 내용을 이야기 했던 첫번째 글에 이어 실제로 도커를 설치하고 컨테이너를 실행하면서 도커 명령어를 알아봅니다. 도커를 처음 접하

    subicura.com

    1. Docker 설치는 위 글을 참조하여 설치 ㅎㅎ

    2. Docker hub에서 deep learning, python, nvidia-cuda 등을 검색하여 pull 할 만한 이미지를 검색

    docker pull python

     

    docker hub

    3. Docker에 접속하여 jupyterlab, opencv도 설치

    pip install jupyterlab
    
    sudo apt update      
    sudo apt install libgl1-mesa-glx

     

    4. nvidia-docker도 설치 

     

    GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs

    Build and run Docker containers leveraging NVIDIA GPUs - GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs

    github.com

    5. 다 만든 나의 환경은 나중에 또 사용할 수 있도록 docker hub에 push 

     

        ④ Docker에 접속하기 

     

    ▶ docker 이미지 리스트 보기

    docker images


    docker 이미지에 접속하기

    docker run -it --name jupyterlab --gpus all -p 8888:8888 -v /home/eple13/data:/tf/ lab:extension


    docker 저장할 때

    docker commit -m "메시지" 컨테이너명 이미지명:태그


    docker container에 붙을 경우

    sudo docker exec -i -t 컨테이너명 /bin/bash
    docker start <container ID>


    docker 프로세스가 확인되는 경우

    sudo docker exec -i -t 컨테이너명 /bin/bash
    jupyterlab


    Container 삭제

    docker rm 컨테이너명

     

     

    댓글