12-29 22:14
Notice
Recent Posts
Recent Comments
관리 메뉴

Scientific Computing & Data Science

[Artificial Intelligence / TensorFlow] Windows 환경에서 Docker를 이용하여 TensorFlow 설치 본문

Artificial Intelligence/TensorFlow

[Artificial Intelligence / TensorFlow] Windows 환경에서 Docker를 이용하여 TensorFlow 설치

cinema4dr12 2017. 1. 15. 22:44

TensorFlow는 공식적으로 Mac과 Linux 환경에서 설치를 지원하며, 아직 공식적으로 Windows에 대한 지원을 하지 않는다.

그러나, 최근 가상 컨테이너 기술인 Docker를 이용하여 Windows 환경에서 TensorFlow를 설치할 수 있게 되었는데 이에 대한 방법을 알아보도록 하겠다.

1 단계 - Docker Toolbox 설치

Windows에 Docker Machine을 설치하려면,

(1) Windows 32/64 bit

(2) Windows 7+

(3) CPU 가상화가 가능


CPU 가상화가 가능하지는 MS에서 제공하는 가상화 감지 도구(Hardware-Assisted Virtualization Detection Tool)를 다운받고 실행해 본다.

실행하였을 때 아래 이미지와 같이 "This computer is configured with hardware-assisted virtualization"이라는 메시지가 나오면 가상화가 가능하다는 뜻이다.



만약 위와 같은 메시지가 나오지 않는 경우 BIOS 설정에서 관련 설정을 변경한다.

가령, GIGABYTE 마더보드의 경우,


[BIOS에서 가상화 설정하는 법]

- 부팅 후 F2를 눌러 BIOS 셋팅으로 진입

- Advanced Option(F7)을 누르고 Advance Option으로 진입

- CPU Configuration > Intel Virtualization (Enabled)로 변경


와 같이 설정하며, 다른 마더보드의 경우도 유사하게 설정할 수 있으리라 생각한다.

가상화가 가능하도록 설정이 되어 있으면, Window용 Docker Toolbox를 설치한다.

2 단계 - Docker Machine 생성

Docker Toolbox가 설치되면 아래 이미지와 같이 두 개의 어플리케이션이 등록된다.



이 중 Docker Quickstart Terminal을 실행한다.



Docker에 등록된 Machine 리스트를 확인하려면 다음과 같이 명령어를 입력한다:

$ docker-machine ls



현재 "default"라는 이름을 가진 Docker Machine이 하나 구동되고 있음을 알 수 있다.


이제 "tensorflow"라는 이름으로 Docker Machine을 생성하도록 한다:

$ docker-machine create tensorflow -d virtualbox

또는

$ docker-machine create tensorflow --driver virtualbox



다시 Docker Machine 리스트를 확인해 보면,

$ docker-machine ls



tensorflow라는 Docker Machine이 등록되어 실행되고 있음을 확인할 수 있다.

3 단계 - 환경변수 설정

Docker Machine Quickstart Terminal을 잠시 닫고, Windows Command Line Tool(콘솔)을 실행하여 TensorFlow 설치를 위한 환경변수를 설정한다.


> FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd tensorflow') DO %i


위의 명령줄에서 오렌지색으로 표기한 tensorflow는 방금 생성한 Docker Machine의 이름이다. 

나중에 Docker Machine을 다른 이름으로 생성한다면 이 부분을 바꾸어 입력한다.



4 단계 - TensorFlow 설치

Windows Command Line Tool에서 다음 명령을 입력하여 TensorFlow를 설치한다.

> docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel


위와 같이 입력하면 TensorFlow 설치가 진행된다.



설치가 완료되면 Downloading 또는 Waiting이 Pull Complete로 변경되고, Docker Machine ID Prompt로 진입한다.

(해당 Docker-Machine ID는 기기에 따라 다르다.)



TensorFlow가 제대로 설치되어 있는지 확인하기 위해 Python을 실행하고 tensorflow 모듈을 불러보도록 한다:


root@2319305eddb7:~# python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)                           
[GCC 4.8.2] on linux2                                                   
Type "help", "copyright", "credits" or "license" for more information.  
>>> import tensorflow as tf                                             
>>>                                                                     


위와 같이 tensorflow 모듈을 불러올 때 문제없이 Import 되면(아무런 에러 메시지가 없이) TensforFlow가 제대로 설치된 것이다.

다음 Python 명령줄에서 HelloWorld 예제를 실행해보도록 한다.



5 단계 - TensorFlow 재실행

일단 TensforFlow가 해당 Docker Machine에 설치되어 있으면 향후에는 다시 설치할 필요없이 TensorFlow를 사용할 수 있다.

우선 Windows Command Line Tool을 닫고 다시 실행한다.


Command Line에서 TensorFlow 환경을 재설정하고 docker run을 실행한다.

> FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd tensorflow') DO %i
> docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel


이렇게 하면 이미 TensorFlow가 설치되어 있으므로 재설치하는 과정없이 TensforFlow를 사용할 수 있다.

6 단계 - Jupyter에서 실행하기

Jupyter Notebook에 TensorFlow를 실행환경을 구성해 보도록 한다.


우선 Windows Command Line Tool을 닫고 다시 실행한다.

TensorFlow 환경을 설정하고,

> FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd tensorflow') DO %i


Jupyter Notebook으로 TensorFlow가 실행되도록 한다:

> docker run -p 8888:8888 -p 6006:6006 -it b.gcr.io/tensorflow/tensorflow


Docker Quickstart Terminal에서 자신의 Docker Machine의 IP를 확인하고,
(아래 이미지는 예를 든 것이며, IP는 자신의 Machine에 따라 다르다.)



Web Browser의 주소창에 다음과 같이 입력한다.

http://{YOUR_DOCKER_MACHINE_IP}:8888


가령 위의 이미지와 같이 해당 Docker Machine의 IP가 192.168.99.101이라면,



와 같으며, 해당 주소로 이동하면 Jupyter Notebook이 실행되는 것을 확인할 수 있을 것이다.



Jupyter가 실행되면 기본적으로 3개의 TensorFlow 예제가 Markdown 형식으로 제공된다.

참고 - Docker Machine 중지 및 삭제

만약 해당 Docker Machine을 중지하려면 Docker Machine Quickstart Terminal에서 다음과 같이 입력한다.

$ docker-machine stop tensorflow



해당 Docker Machine을 삭제하려면 Docker Machine Quickstart Terminal에서 다음과 같이 입력한다.

$ docker-machine rm tensorflow


Docker Machine 삭제 후 리스트를 확인해 보면 리스트에서 해당 Docker Machine이 사라졌음을 확인할 수 있을 것이다.



이로써 Windows에서 Docker를 이용하여 TensorFlow를 설치하고 사용할 수 있게 되었다.

모두들 TensorFlow를 열심히 활용하여 Data Flow Graph를 이용한 수치 계산(특히 Machine Learning)의 대가가 되도록 하자.

Comments