회사 내에서 학습시키기위해 도커를 사용하여서 서버사용하는데 정리가 필요해서 적어봄.
컨테이너 기반의 오픈소스 가상화 플랫폼
방식은 두가지가 존재함.
1. npg 를 사용
2. pull 사용
docker hub 에서 원하는 환경을 pull 하면 됨.
나 같은 경우는 pytorch/ cuda 11버전 / cudnn 을 원했음.
pytorch/cuda11/cudnn8에 맞는 docker image를 찾고 pull 해주면됨.
sudo docker pull pytorch/pytorch:1.8.1-cuda11.1-cudnn8-devel
sudo docker images
sudo docker run --gpus all -it -d -v (마운트할 폴더) -p 8097:8097 --ipc=host --name (container 이름설정) (image id) /bin/bash
예를 들어서,
sudo docker run --gpus all -it -d -v /media/hdd/jinju/shared:/media/hdd/jinju/shared -v /media/hdd/jinju/data:/media/hdd/jinju/data -p 8097:8097 --ipc=host --name jj-pytorch 7afd9b52a068 /bin/bash
여기서 port는 tensorboard 사용하기 위해서 사용함.
port를 설정해야 학습진행사항 확인할 수 있는 tensorboard 가능함.
현재 실행된 container 확인
sudo docker ps
전체 container 뭐가 있는지 확인
sudo docker ps -a
sudo docker exec -it (container name) /bin/bash/
예를 들어
sudo docker exec -it jj-pytorch /bin/bash/
각 파라미터들은 무엇을 의미하는지는 각자가 알아보면 좋을 것 같다.
docker 개념이 어려웠었는데 몇번 사용하다보니 감을 잡았다.
정리하니 더 확실히 좋다.