ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서버에서 Docker + tensorboard 사용하기
    개발 환경/Docker 2020. 3. 11. 15:08
    반응형

    0. 내 환경 및 계기

    • Local
      • macOS
    • Server
      • Ubuntu 18.04
      • Docker
    • Docker image
      • Ubuntu 18.04 
      • tensorflow
      • tensorboard

    실험해본 결과 컨테이너에 tensorboard만 있고 tensorflow만 있으면 안된다.

    우선 요새 모든 프로젝트를 docker 기반으로 진행중이다. 그러다가 tensorboard를 사용해야 할 일이 생겼다. 최대한 server의 패키지를 사용하지 않는 것이 목표이기 때문에 tensorboard도 docker 컨테이너에서 돌려보고자하였다.

     

    1. 설치

    위에 보여준 환경처럼 필요한 환경이 모두 구축되어 있어야한다. pytorch에 tensorboard를 사용중인데 tensorflow까지 깔아야 한다는게 억울하다...

     

    2. 예제 1 Local에서 Docker + tensorboard

    서버에서 해보기 전에 local에서 되는지 확인해보고 넘어간다면 문제가 발생했을 때 원인을 파악하기 쉬울 것이다. 더 하위 버젼은 docker도 제외하고 local에서 tensorboard를 사용하는 것인데 혹시나 알 수 없는 문제가 생긴다면 시도해보자.

    (1) tensorboard log 준비

    tensorboard로 사용할 deep learning code를 run하여 log파일을 만들자.

    (2) docker run

    tensorboard는 6006 포트를 default로 사용하기 때문에 컨테이너를 up 할때 포트를 열어줘야 한다. 맵핑?

    docker run -it -v ~/Listen-Attend-and-Spell-Pytorch -p 6006:6006 hsh0322/las-pytorch /bin/bash

    -p 6006:6006이 포인트다. local에 6006 포트를 docker container와 연결시켜줘야 접속이 가능해진다.

    (3) tensorboard 실행

    root@asdfghsgd:/opt/project# tensorboard --logdir=log/las_example --port 6006 --host=0.0.0.0

    # 뒤로 tensorboard부터가 명령어다. --logdir로 log 파일의 경로를 설정해주고 --port로 tensorboard 접근에 사용할 포트를 지정해준다.

    (4) http://0.0.0.0:6006/ 접속

    웹브라우저를 키고 위 주소로 들어가면 아래와 같이 tensorboard 화면에 접속할 수 있다.

     

    3. 예제 2 Server에서 Docker + tensorboard

    사실 위와 별반 다를 것이 없다. 차이가 있다면 접속하는 주소만 다르다.

    (1) tensorboard log 준비

    는 위에서 이미 완료하였다. 서버로 프로젝트 통째로 복사를 해주든 다시 실행해서 만들든 하자.

    (2) docker run

    명령어는 이전 예제와 같다. 당연히 서버에 ssh 접속해서 실행해줘야한다.

    docker run -it -v ~/Listen-Attend-and-Spell-Pytorch -p 6006:6006 hsh0322/las-pytorch /bin/bash

     

    (3) tensorboard 실행

    root@asdfghsgd:/opt/project# tensorboard --logdir=log/las_example --port 6006 --host=0.0.0.0

    이마저도 같다.

    (4) http://xxx.xxx.xxx.xxx:6006/ 접속

    로컬에서 웹브라우저를 키고 서버의 IP로 대체된 주소로 들어가면 아래와 같이 tensorboard 화면에 접속할 수 있다.

     

    4. 결론

    Tensorboard를 자주 쓰진 않지만 이 또한 다 경험이라고 생각한다. 도구에 대해 배워갈 때마다 기분이 매우 좋다.

    반응형
Designed by Tistory.