docker
-
Pycharm에서 server의 docker 사용해서 디버깅하기 (무슨 말?)개발 환경/Pycharm 2020. 9. 3. 17:47
제목을 쓰고 나니 나도 무슨 말인지 모르겠다. 0. 현재 상황 및 해결 방안 Docker와 Pycharm을 사용해서 개발중. 평소에 local에서 디버깅하고, server(나의 경우 aws instance)에서 run 했음. Local에서 디버깅하려는데 모델 크기가 너무 커서 내 맥북 램 8GB를 넘어버림. Server에 존재하는 docker에 pycharm으로 접속해서 디버깅하자! Server에서 tcp 소켓을 이용해 port를 열고 docker를 실행 및 외부에서 접속 확인. Pycharm에서 docker 설정. 디버깅할 스크립트의 configuration 설정. 디버깅 시작! 1. Server에서 tcp 소켓을 이용해 port를 열고 docker를 실행 및 외부에서 접속 확인. 1. socat 설치..
-
[Docker for ML #3] 로컬 디렉토리와 컨테이너 마운트하기개발 환경/Docker 2020. 8. 28. 16:56
Docker container를 실행해서 코드를 돌릴 수 있는 상태지만 내가 로컬에서 작성한 코드나 DB 파일이 컨테이너 내부에 존재하지 않는다. 이러면 컨테이너 내부에서 딥러닝 학습을 할 수가 없다. 그래서 로컬의 디렉토리와 컨테이너의 디렉토리를 마운트해야한다. 1. -v 옵션 -v 옵션은 로컬과 컨테이너 사이의 마운트를 가능하게 한다. docker run -it -v ~/PycharmProjects/mnist:/opt/project tensorflow2 bash -v : 내 로컬에 ~/PycharmProjects/mnist라는 디렉토리를 컨터이너의 /opt/project에 마운트 시킨다. /opt/project에 마운트시키는 이유는 Dockerfile에서 WORKDIR을 /opt/project로 지정..
-
[Docker for ML #1] 설치와 기본 명령어개발 환경/Docker 2020. 8. 28. 15:32
Docker는 현재 다양한 개발 분야에서 사용되고 있다. 딥러닝 개발자는 CUDA나 TensorFlow, PyTorch 등 버전이 충돌할 때 docker를 찾게 된다. 1. 설치 sudo apt install docker.io 2. sudo 권한 부여 Docker는 기본적으로 sudo 권한을 필요로 한다. 매번 sudo를 붙여주는 것은 귀찮으니 현재 user에게 docker를 sudo 권한으로 사용할 수 있게 해주자. sudo usermod -aG docker $USER 명령어를 쳤으면 터미널을 껐다가 다시 키자. 3. 설치 확인 docker --version output: Docker version 19.03.8, build afacb8b7f0 4. run 테스트로 tensorflow 이미지를 받아서 ..
-
ESPnet an4 예제 실행하기 (GPU)ML/ESPnet 2020. 7. 23. 16:53
지난번에 an4를 CPU로 돌려보았다. 굉장히 오래 걸리는 것을 경험했고 이번에는 GPU로 돌려볼 계획이다. 1. 바로 실행? cd docker ./run.sh --docker-gpu 0 --docker-egs an4/asr1 --ngpu 1 output: write a CER (or TER) result in exp/train_nodev_pytorch_train_mtlalpha1.0/decode_test_decode_ctcweight1.0_lm_word100/result.txt | SPKR | # Snt # Wrd | Corr Sub Del Ins Err S.Err | | Sum/Avg | 130 2565 | 91.2 4.1 4.7 0.6 9.4 51.5 | CPU로는 1시간정도 걸린거 같은데 GPU로..
-
[MongoDB] Docker로 MongoDB 사용하기개발 환경/DataBase 2020. 7. 22. 19:52
소마 프로젝트에서 mongoDB를 사용한다. 그래서 공부를 시작했다. 0. 계획? MongoDB를 사용하기 위해서는 서버와 클라이언트가 같은 내부망에 존재해야 한다. 그러므로 두개의 컨테이너를 만들고 링크로 연결해준다. 또한 컨테이너는 제거하면 컨테이너 내부의 데이터는 사라지기 때문에 컨테이너를 구동한 로컬과 볼륨을 마운트시켜야 한다. MongoDB server (로컬의 볼륨과 마운트를 시켜야함.) MongoDB client (서버와 연결되어 있어야함.) 1. MongoDB server 컨테이너 구동 docker run --name mongodb-server -d -v ~/data:/data/db mongo 내용을 하나씩 살펴보자. run : 컨테이너 실행 --name mongodb-server : 컨테..
-
ESPnet 설치 및 CPU 예제 실행 (docker)ML/ESPnet 2020. 7. 22. 13:50
ESPnet은 speech와 관련된 다양한 태스크를 end-to-end로 해결하려는 툴킷이다. Speech에 대한 연구를 하고 있는 입장으로서 ESPnet에 대한 공부를 시작해볼까 한다. 첫번째로 시도할 것은 가장 중요한 설치이다. 대강 설치하는 방법을 읽어보니 역시나 복잡하다. 이리저리 쓰는 패키지도 많고 Kaldi도 쓰고 PyTorch도 쓰고 CUDA도 쓰고... 하지만 docker를 지원하기 때문에 그냥 docker image 받아서 사용하려 한다. github.com/espnet/espnet espnet/espnet End-to-End Speech Processing Toolkit. Contribute to espnet/espnet development by creating an account o..
-
Docker, docker-compose에 원하는 GPU만 할당하기개발 환경/Docker 2020. 5. 21. 14:20
현재 내 서버에는 GPU가 2개 있는데 학습하고 있는 코드는 multi-gpu 코드가 아니다. 그러므로 2개의 GPU에 각각 코드를 돌린다면 2번의 실험을 동시에 할 수 있다. 그래서 docker-compose를 이용해 특정 GPU만 할당하는 방법을 알아보았다. 0. GPU 확인 nvidia-smi output: 1070 2개가 보인다. GPU index는 0부터 시작하여 2개니깐 1에서 끝난다. 1. docker docker run -e NVIDIA_VISIBLE_DEVICES=1 hsh0322/las-pytorch python3 train.py 위와 같이 -e NVIDIA_VISIBLE_DEVICES=(원하는 GPU number)로 옵션을 넣어주면 된다. 2. docker-compose version..
-
딥 러닝을 위한 docker-compose 설치 및 사용법 [pytorch, tensorboard 예제]개발 환경/Docker 2020. 4. 11. 17:49
Docker를 도입한지 시간이 흘렀고, 현재 가장 Low-level로 사용중이다. docker run ...으로 시작하는 명령어를 통해 컨테이너를 만들고 실행한다. 이제는 익숙해졌지만 사실 docker-compose라는 자동화된 패키지가 있는 것을 알고 있었다. 이번 기회에 한번 docker-compose를 사용하여 생산성을 높여볼까 한다. 0. Docker로 딥 러닝 하기 위한 준비 https://hanseokhyeon.tistory.com/entry/Docker-Pytorch-GPU로-딥-러닝-개발하기?category=854704 Docker + Pytorch + GPU로 딥 러닝 개발하기 https://www.slideshare.net/MichaelDucy/the-future-of-everythin..