Tensorflow는 구글에서 개발한 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리이다. 제공되는 프로그래밍 언어로는 Python과 c++이 있는데 나는 Python을 쓰도록 하겠다.


내 노트북 스펙:

OS: Window10 (x64)

CPU: Intel(R) i5-6200U

GPU: NVIDIA GeForce 940M

RAM: 8GB



설치 순서참고: 괄호() 안에 있는 버젼은 내가 받은 버젼이다.


Step 0. GPU로 돌릴사람만!

 만약 GPU를 사용하여 Tensorflow를 돌려보고 싶다면 CUDA와 cuDnn을 받아야 한다. (CUDA-9.2.148-win10, cuDnn-9.2-win10-x64-v7.1)


CUDA 다운로드 링크: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64

cuDnn 다운로드 링크: https://developer.nvidia.com/cudnn


CUDA는 실행파일을 받아서 깔면 되고, 

cuDnn은 압축을 풀어 bin, include, lib 폴더를 아래의 경로에 넣어준다


 “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2”


Step 1. 아나콘다(Anaconda)를 깔자


 다운로드 링크: https://www.anaconda.com/download/


 위의 다운로드 링크로 가서 .exe파일 (Anaconda3-5.2.0)을 받아 설치를 한다. 아나콘다를 설치하면 알아서 Python (Python 3.6.5)이 깔리므로 따로 안받아도 된다. 


 

Anaconda가 설치 되었으면 시작메뉴에서 Anaconda Prompt를 실행하여 Python을 쳐보자. 


(base) C:\Users\bbangko>python

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.    

>>>           


이렇게 >>> 모양이 뜨면 정상적으로 Python이 설치가 된 것이다.


Step 2. 텐서플로우(tensorflow)를 깔자


 아나콘다 안에서 가상개발환경을 만들어주고, 그 안에 텐서플로우를 깔아야 한다. CPU버젼과 GPU버젼을 따로 설치하고 싶다면 -gpu를 추가해서 구분 지어줍시다.


conda create -n tensorflow python=3.6 

conda create -n tensorflow-gpu python=3.6


 이렇게 하면 가상개발환경 폴더가 만들어진다. 해당 개발환경을 활성화 시키기 위해서는 activate 개발환경이름 명령어를 사용하면 된다.


그러면 각각의 가상개발환경 안에 tensorflow를 깔아주자.


CPU용 Tensorflow

(base) C:\Users\bbangko>activate tensorflow

(tensorflow) C:\Users\bbangko>pip3 install --ignore-installed --upgrade tensorflow



GPU용 Tensorflow

(tensorflow) C:\Users\bbangko>activate tensorflow-gpu

(tensorflow-gpu) C:\Users\bbangko>pip3 install --ignore-installed --upgrade tensorflow-gpu 



Step 3. Tensorflow를 테스트 해보자


 먼저 CPU용 Tensorflow부터 테스트 해봅시다. 아래 코드를 따라 쳤을때 오류 없이 출력이 된다면 성공!


(base) C:\Users\bbangko>activate tensorflow

(tensorflow) C:\Users\bbangko>python

Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

>>> hello=tf.constant("Hello Wolrd!")

>>> sess=tf.Session()

2018-08-04 19:43:46.857283: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

>>> print(sess.run(hello))

b'Hello Wolrd!'

>>>


python에서 cmd명령으로 나가려면 Ctrl+Z 인터럽트를 걸어줍시다


 다음 GPU


(tensorflow) C:\Users\bbangko>activate tensorflow-gpu

(tensorflow-gpu) C:\Users\bbangko>python

Python 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:27:44) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow as tf

>>> hello=tf.constant("Hello Wolrd!")

>>> sess=tf.Session()

                                                                                     ...

Found device 0 with properties:

name: GeForce 940M major: 5 minor: 0 memoryClockRate(GHz): 1.176

                                                                                     ...

>>> print(sess.run(hello))

b'Hello Wolrd!'

>>>

 

 메세지 중간에 GPU이름이 뜨면서 잘 작동하는 것을 확인하면 성공!


Step 4. 쥬피터(Jupyter)도 써봅시다.


 코딩할때 콘솔창에 한줄 한줄 쓸 수는 없잖슴? 코드를 이쁘게 파일로 관리하기 위해 Jupyter라는걸 써야한다. 다행이도 Anaconda를 설치하면 Jupyter도 같이 깔리니 참으로 다행이다. Jupyter를 실행하는 명령어는 jupyter notebook 이다.


(base) C:\Users\bbangko>activate tensorflow

(tensorflow) C:\Users\bbangko>jupyter notebook

[I 19:59:38.379 NotebookApp] JupyterLab beta preview extension loaded from C:\ProgramData\Anaconda3\lib\site-packages\jupyterlab

[I 19:59:38.380 NotebookApp] JupyterLab application directory is C:\ProgramData\Anaconda3\share\jupyter\lab

[I 19:59:38.847 NotebookApp] Serving notebooks from local directory: C:\Users\bbangko

[I 19:59:38.847 NotebookApp] 0 active kernels

[I 19:59:38.848 NotebookApp] The Jupyter Notebook is running at:

[I 19:59:38.848 NotebookApp] http://localhost:8888/?token=faf573e56c15b7568c52adf8c192727bce39e0c957152cba

[I 19:59:38.848 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

[C 19:59:38.851 NotebookApp]


    Copy/paste this URL into your browser when you connect for the first time,

    to login with a token:

        http://localhost:8888/?token=faf573e56c15b7568c52adf8c192727bce39e0c957152cba&token=faf573e56c15b7568c52adf8c192727bce39e0c957152cba

[I 19:59:39.914 NotebookApp] Accepting one-time-token-authenticated connection from ::1


 아래를 보면 로그인 토큰도 던져주는데 기본브라우저가 아닌 크롬에서 작업하고 싶다면 토큰을 크롬의 주소창에 복붙하면 된다. 그리하면 아름다운 UI의 Jupyter가 뜰것이다. 



 우측상단의 new를 눌러 앞으로 코딩 작업을 할 폴더(Folder) workspace를 만들어줍시다. (경로는 님들 마음대로) 그리고 python코드를 작성할 파일 .ipynb 을 new->Python3를 눌러 생성해보자. 




 in [ ] : 블록 안에 tensorflow를 import해주는 코드를 작성해보자. 그러면 아래와 같은 에러메세지가 뜨게 될것이다. 뜨지 않으면 땡큐하고 그냥 쓰면 된다. 이 에러를 해결하기 위한 포스트는 다음글을 참고하길 바란다.



 이제 신나게 코딩 해봅시다. 화이팅!


+ Recent posts