윈도우/우분투에 설치한 PyCharm에서 텐서플로우 프로그래밍을 시작하기 위해 필요한 작업을 다루고 있습니다.



2018. 7. 17 - 최종 수정




다음처럼 공식 배포되는 텐서플로우 패키지를 설치할 수도 있지만  


cpu 버전
pip3 install --upgrade tensorflow

gpu 버전
pip3 install --upgrade tensorflow-gpu



프로그램 실행시 다음과 같은 경고문이 매번 보이게 됩니다.

사용중인 텐서플로우 라이브러리가 CPU에 최적화 안되어있다는 내용입니다.


Your CPU supports instructions that this TensorFlow binary was not compiled to use



다음처럼 경고가 안보이게 하는 해결 방법이 있기는 합니다.


# 소스코드 첫부분에 다음 2줄을 추가해주면 경고가 보이지 않습니다

import os

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'



# 0으로 설정하면 모든 메시지를 보여줍니다.(디폴트 상태)

# 1로 설정하면 INFO 메시지를 숨깁니다.

# 2로 설정하면 INFO, WARNINGS 메시지를 숨깁니다.

# 3으로 설정하면 INFO, WARNINGS, ERROR 메시지를 숨깁니다.




해당 경고문을 안보이게 하려면 사용중인 CPU 최적화되도록 텐서플로우 소스코드를 컴파일해서 사용중인 CPU에 최적화 시켜야 합니다.


본 포스팅에서는 미리 CPU에 최적화시켜 만들어둔 바이너리 파일을 PyCharm에서 사용하는 방법을 설명합니다.





1. Python 설치(Windows)

1-1. 아래 링크에 방문하여 최신 텐서플로우 폴더를 클릭합니다.

https://github.com/fo40225/tensorflow-windows-wheel


배포중인  tensorflow의 최신버전과  필요한 Python 버전은 글 시점과 다를 수 있습니다.





1-2. cpp(C++ 용),  py27(python 2.7대 버전용), py36(python 3.6대 버전용) 폴더가 보입니다.

각 언어별로 CPU/GPU 최적화되도록 컴파일 해둔 것입니다.


여기에선 py36을 선택하여 진행합니다. 윈도우에 파이썬 3.6를 설치하는 방법은 뒤에서 다룹니다.





1-3. Nvidia 그래픽카드를 사용중이라면 GPU버전을 선택하고 아니라면 CPU를 선택합니다.

여기에선 CPU를 선택하여 진행합니다.




1-4. 대부분의 경우  avx2를 선택하면 되지만 확실치 않으면 cpu-z 같은 프로그램으로 확인 가능합니다.

여기에선 avx2를 선택하여 진행합니다.  SSE2는 거의 모든 컴퓨터에서 지원합니다.




1-5. 파일 목록에서 다운로드 받을 파일을 클릭합니다.





1-6. Download 버튼 위에서 마우스 오른쪽 버튼을 클릭하여 보이는 메뉴에서 링크 주소 복사를 선택합니다.




다음과 같은 주소가 클립 보드에 저장됩니다. 따로 메모장 같은 프로그램에 붙여넣기 해둡니다.

https://github.com/fo40225/tensorflow-windows-wheel/raw/master/1.9.0/py36/CPU/avx2/tensorflow-1.9.0-cp36-cp36m-win_amd64.whl



1-7.윈도우에서는 Python을 따로 설치를 해줘야 합니다. 아래 링크에서 x64용  Python 3.6을 찾아서 다운로드하여 설치 합니다.

https://www.python.org/downloads/windows/






2. Python 설치(Ubuntu)


2-1. 아래 링크에 방문하여 최신 텐서플로우를 찾습니다.  배포되고 있는 최신 버전 tensorflow는 Python 3.5용 1.9.0 입니다.  우분투에 파이썬 3.5를 설치하는 방법은 뒤에서 다룹니다.


https://github.com/lakshayg/tensorflow-build




버전 1.9.0에서 파이썬 3.5.2용 링크를 복사해줍니다. 다음과 같은 주소가 클립 보드에 저장됩니다.

https://github.com/lakshayg/tensorflow-build/releases/download/tf1.9.0-ubuntu16.04-py27-py35/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl




2-2. Ubuntu 18.04에는 파이썬이 이미 설치되어 있지만 버전이 우리가 필요한  버전 3.5가 아닙니다.


webnautes@webnautes-pc:~$ python3 -V
Python 3.6.5




2-3. 그래서 Python 3.5를 컴파일하여 설치했습니다.( https://askubuntu.com/a/727814 )



sudo apt-get install libssl-dev openssl


wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz


tar xzvf Python-3.5.5.tgz


cd Python-3.5.5


./configure --enable-optimizations


make


sudo make install




설치 완료 후, 파이썬 버전이 3.5.5로 변경되었습니다.


webnautes@webnautes-pc:~/Python-3.5.5$ python3 -V
Python 3.5.5
webnautes@webnautes-pc:~/Python-3.5.5$ pip3 -V
pip 9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)



다음 단계인 PyCharm에서 설정시 찾기 쉽도록 /usr/bin/python3.5로 링크를 걸어둡니다.


$ sudo ln -sf /usr/local/bin/python3.5 /usr/bin/python3.5



PyCharm에서 python 3.5를  인식하도록 재부팅을 합니다.




3. PyCharm 설치 ( Windows )


3-1. 윈도우에서는 https://www.jetbrains.com/pycharm/download/#section=windows에서 커뮤니티 버전을 다운로드받아 설치해야 합니다.





3-2. 윈도우에 JRE가 설치안되어 있는 경우에는 설치 진행시 Download and install JRE x86 by JetBrains를 체크해줘야합니다.





4. PyCharm 설치 ( Ubuntu )

4-1. 우분투에서는 다음 명령으로 PyCharm  설치를 진행합니다.


$ sudo snap install pycharm-community --classic




5. 가상 환경(virtualenv)을 만들기( Windows )


텐서플로우 소스코드를 실행할 수 있는 가상 환경(virtualenv)을 만들기 위한 작업입니다.

PyCharm에선 프로젝트 별로 가상환경을 별도로 구성할 수 있습니다.



5-1. 1장에서 찾은 미리 빌드된 텐서플로우를 사용하라면 파이썬 3.6을 위한 가상환경(virtualenv)을 생성해야 합니다.  


https://github.com/fo40225/tensorflow-windows-wheel/raw/master/1.9.0/py36/CPU/avx2/tensorflow-1.9.0-cp36-cp36m-win_amd64.whl  




5-2. “Create New Project”를 클릭합니다.





5-3.  Location 항목에서 프로젝트 저장할 위치(=프로젝트 이름)를 변경하고 바로 아래 보이는 “Project Interpreter: New Virtualenv environment”를 클릭합니다.





5-4. Base interpreter 항목에서 Python 3.6을 선택하고 Create 버튼을 클릭합니다.





5-5. 잠시 기다리면 프로젝트 및 가상 환경(Virtualenv) 생성이 완료됩니다.





6. 가상 환경(virtualenv)을 만들기( Ubuntu )


텐서플로우 소스코드를 실행할 수 있는 가상 환경(virtualenv)을 만들기 위한 작업입니다.

PyCharm에선 프로젝트 별로 가상환경을 별도로 구성할 수 있습니다.



6-1. 2장에서 찾은 미리 빌드된 텐서플로우를 사용하라면 파이썬 3.5을 위한 가상환경(virtualenv)을 생성해야 합니다.

https://github.com/lakshayg/tensorflow-build/releases/download/tf1.9.0-ubuntu16.04-py27-py35/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl




6-2. “Create New Project”를 클릭합니다.





6-3.Location 항목에서 프로젝트 저장할 위치를 변경하고 바로 아래 보이는 “Project Interpreter: New Virtualenv environment”를 클릭합니다.





6-4. Base interpreter 항목에서 사용할 python3을 선택합니다.  현재 python3가 python3.5로 링크되어 있기 때문입니다.


webnautes@webnautes-pc:~$ python3.5 -V
Python 3.5.5


webnautes@webnautes-pc:~$ pip3.5 -V

pip 9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)






6-5. 잠시 기다리면 프로젝트 및 가상 환경(Virtualenv) 생성이 완료됩니다.





7. TensorFlow 설치(Windows / Ubuntu)


윈도우와 우분투에서 동일하게 진행합니다.


7-1. 메뉴에서 View > Tool Windows > Terminal을 선택하거나  단축키 Alt + F12를 누릅니다.

PyCharm 아래쪽에 터미널 창이 나타납니다.  가상 환경이라서 프로젝트 폴더 위치 앞에 (venv)가 보여집니다.   



windows


ubuntu




7-2. 다음 명령의 "Download URL”를 앞에서 찾은 주소(포스팅의 1장 또는 2장 참고)로 대체하여 실행하면 설치가 진행됩니다.


pip3 install --ignore-installed --upgrade "Download URL"



windows


(venv) C:\Users\webnautes\PycharmProjects\TensorFlow_Project>pip3 install --ignore-installed --upgrade "https://github.com/fo40225/tensorflow-windows-wheel/raw/master/1.9.0/py36/CPU/avx2/tensorflow-1.9.0-cp36-cp36m-win_amd64.whl "



ubuntu


(venv) webnautes@webnautes-pc:~/PycharmProjects/TensorFlow_Project$ pip3 install --ignore-installed --upgrade "https://github.com/lakshayg/tensorflow-build/releases/download/tf1.9.0-ubuntu16.04-py27-py35/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl"




7-3. 정상적으로 설치가 완료되면 다음과 같은 메시지가 터미널 창에 보입니다.


Successfully installed absl-py-0.2.2 astor-0.7.1 gast-0.2.0 grpcio-1.13.0 markdown-2.6.11 numpy-1.14.5 protobuf-3.6.0 setuptools-39.1.0 six-1.11.0 tensorboard-1.9.0 tensorflow-1.9.0 termcolor-1.1.0 werkzeug-0.14.1 wheel-0.31.1





7-4. 추가로 matplotlib 모듈을 추가해줍니다. 그래프 그릴때 많이 사용되는 라이브러리입니다.


pip3 install matplotlib





8. 간단한 TensorFlow 코드 테스트(Windows / Ubuntu)


윈도우와 우분투에서 동일하게 진행합니다.


8-1. 프로젝트 창에서 프로젝트 이름을 선택한 상태에서 마우스 우클릭하여 New > Python File을 선택합니다.





8-2.  파일 이름을 적고 OK를 클릭합니다.





8-3. 생성된 파일에 다음 코드를 입력합니다.



import tensorflow as tf


hello = tf.constant('Hello, TensorFlow!')


sess = tf.Session()
print(sess.run(hello))




8-4. 메뉴에서 Run > Run을 선택합니다.





8-5.  파이썬 파일 이름을 클릭합니다.





8-6. 실행결과 Hello, TensorFlow!가 출력됩니다.





8-7. PyCharm에선 바로 전에 실행했던 파이썬 파일을 메뉴 상단에 표시해줍니다.

다시 실행시에는 아래처럼 첫번째 항목을 선택하거나 Shift + F10을 눌러서 실행하면 됩니다.





참고

[1] https://www.tensorflow.org/install/install_windows


[2] https://www.tensorflow.org/install/install_linux





  1. 2018.01.16 16:07 신고

    Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2 오류는 어떻게 해결하셧나요?

    • webnautes webnautes 2018.01.17 09:00 신고

      맨앞에 다음 두 줄을 추가하면 보이지 않게 됩니다.

      import os
      os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

+ Recent posts

티스토리 툴바