안녕하세요. "생각의웹"입니다.


docker를 활용해 윈도우즈에서 TensorFlow가 설치된 iPython Jupiter를 설치해 활용하는 법 정리합니다.


먼저 원문은 다음과 같습니다: 

http://www.netinstructions.com/how-to-install-and-run-tensorflow-on-a-windows-pc/



원문을 따라서 수행하다보면 다음과 같은 문제점들이 발생합니다.

1) 계정 정보가 한글 ID인 경우, 경로 이상 문제 발생

2) TensorFlow docker image 설치 후 python 이 아닌 ipython server가 수행되고 shell이 뜨지 않음


이 현상들을 해결하고 다음과 같이 설치 및 활용 절차를 재정리합니다.


  1. Docker toolbox for Windows 설치: docker toolbox 설치 후 바탕화면에 등장하는 Docker Quickstart Terminal 을 실행합니다.
  2. default docker machine이 자동으로 생성됩니다. 다음 명령어로 생성된 docker machine을 확인합니다
    docker-machine ls
  3. TensorFlow가 preset 되어 있는 docker image를 cloning 하고 port forwarding 해서 수행합니다. 이때 8888 포트는 jupyter를 위해 6006 포트는 tensorboard를 위해 사용됩니다.
  4. docker run -p 8888:8888 -p 6006:6006 -it b.gcr.io/tensorflow/tensorflow
  5. 정상적으로 동작하면 다음과 같은 메세지가 표시됩니다.

  6. ...
    The Jupyter Notebook is running at : http:..[all ip addresses on your system]:8888/
    
  7. tensorboard를 사용하기 위해 다음과 같이 tensorboard를 활성화합니다.
     
  8. docker machine의 IP address를 확인합니다. 여기의 적힌 IP address가 접근 가능한 서버 주소가 됩니다.
  9. docker-machine ip default
  10. 만일 ip address가 192.168.99.100 이라면 browser를 열어 다음과 같이 tensorflow가 설치된 jupyter server에 접근할 수 있습니다.

  11. 192.168.99.100:8888

참고로 여기에 설치되어 있는 TensorFlow는 non-GPU 버전에 0.8입니다. 

GPU 사용 버전을 활용하시려면 github 가이드를 확인하시기 바랍니다.



이상입니다.

이제부터 tensorflow 공부를 제대로 해봐야 겠네요. 


  1. 생각의 웹 WebofThink 2016.05.03 21:24 신고

    ㅎㅎㅎ 간만에 포스팅했더니 비슷한 행동을 하고 있었나보군요. 부디 즐텐플하길!

  2. 파이팅건맨 2016.05.04 11:28

    앗, 저도 시도했다가 iPython 서버가 뜨는 문제 때문에 찾아낸 우회 방법입니다. 제것보다 이곳의 방법이 더 나아 보이기도 하고...ㅋ
    여튼, 참고 부탁드립니다~

    http://airpage.org/xe/language_data/20725

"생각의 웹"입니다.


지난 Do IoT Yourself 강연 시 가장 널리 알려진 MySQL를 이용해서 data logging를 했으나 

프로그래밍에 문외한인 분들에게 교육하기 어려운 점과 

MySQL과 같은 RDMS (관계형 데이터 베이스 시스템)과 JavaScript의 궁합이 썩 맞지 않는 면들이 있었습니다.

불편한 점들을 나열하면 다음과 같습니다.


- MySQL 설치가 까다롭다.

- database를 설정하고 schema를 만드는 과정에서 실수하기 쉽다. (error-prone)

- JavaScript 객체 (JSON)의 속성들을 일일히 DB 스키마에 맞춰 저장한 뒤 읽어 들일 때 JSON 객체로 만들어 주는 과정이 필요하다.

- JavaScript Date 객체와 DB의 Date 객체는 호환되지 않는다.

 


따라서, NoSQL 중 하나인 mongoDB를 대안으로 사용하기로 결정했습니다. 그 이유는 다음과 같습니다.


- database를 설정하고 schema를 만드는 과정이 필요 없다.

- JSON 객체로 저장하고 읽어 들인다.


제 개발환경인 windows 8.1에서는 msi 형태의 설치 파일을 통해 별도의 설정 없이 손쉽게 설치가 가능했으나 

실행 환경인 raspberry PI는 조금 복잡하고 오랜 과정이 필요했습니다.


다음은 설치 과정을 정리한 포스팅입니다.


http://c-mobberley.com/wordpress/2013/10/14/raspberry-pi-mongodb-installation-the-working-guide/


영어의 압박이 있어 보이지만 순서대로 따라하면 큰 무리 없이 설치가 가능합니다.

다만, 어디서나 mongo 콘솔을 사용할 수 있도록 설정하는 부분이 빠진 것 같아 다음과 같이 추가합니다.


sudo ln -s /opt/mongo/bin/mongo /usr/bin/mongo


설치된 mongoDB 버전이 2.1.1 에 불과하다는 포스팅도 있으나 사용하고자 하는 기능에는 크게 무리가 없을 듯 합니다.


이번 포스팅은 여기까지 입니다.

감사합니다.

  1. 생각의 웹 WebofThink 2015.07.06 17:17 신고

    종종 raspberry PI가 비정상 종료될때 mongodb가 제대로 실행되지 않습니다.
    이떄 아럐 링크를 참조하여 수정 후 실행해야 합니다.
    http://stackoverflow.com/questions/9884233/mongodb-service-is-not-starting-up

    sudo rm /var/lib/mongodb/mongod.lock
    mongod --repair
    sudo service mongodb start

+ Recent posts