Breaking

2018년 12월 23일 일요일

텐서플로 설치 (First Step in Tensorflow : install tensorflow)

텐서플로 설치 (First Step in Tensorflow : install tensorflow)

-별별정보 



Python으로 공부를 하다 Tensorflow를 접하는 분들이 아마 가장 먼저 맞닥뜨리는 가장 첫 관문(Frist Step in Tensorflow)은 버전 문제(Version Problem)일 것으로 예상합니다.

저 역시 이 문제 때문에 과거 고생을 많이 했습니다. ^^;;

이 글을 적는 2018년 12월 23일 기준으로도
Tensorflow는 Python 지원을 3.4, 3.5, 3.6까지만 지원한다고 적혀있습니다.

Version 정보는 바뀔 수 있으니 Tensorflow Link에 가셔서 확인하시길 바랍니다.

2019년 Tensorflow 2.0이 정식으로 나오게 되면서 앞으로 pip install tensorflow를 하면 자동으로 2.0을 설치하게 됩니다.
그리고 Python 3.7을 설치해도 잘 적용됩니다. 3.4이상이기만 하면 됩니다.
설치에 크게 변동이 없으니 제가 설명하는 대로 진행해도 무방합니다.







가장 최신 버전의 파이썬 3.7 그리고 이에 맞는 Anaconda 5.3.1을 설치한 후 찾아보는 경우가 대다수일 것이라고 저는 생각합니다.

이 때 여러분이 취할 수 있는 방법 2가지 입니다.

첫 번째 Tensorflow를 지원하는 Python 3.5 버전에 맞는 Anaconda 4.2.0 or Python 3.6 버전에 맞는 Anaconda 4.3.0 ~ Anaconda 5.2.0을 설치한 후 tensorflow를 설치하는 것입니다.

1. Anaconda 4.3.0 ~ 5.2.0 install -> pip install tensorflow

두 번째 최신 버전으로 설치된 경우 혹은 설치할 생각이 있는 경우 가상 환경을 Anaconda prompt로 만들어 파이썬 버전을 맞춘 후 이를 사용하는 것 입니다.

2. Already Exist Python & Anaconda -> create env

-> pip install tensorflow


저는 두 가지를 모두 설명하기 위해서 첫 번째 방식으로 먼저 보여드리고 그 다음 Anaconda Prompt를 사용해서 2번째 방식을 보여드리겠습니다.

개인적으로 두 번째 방식을 추구합니다. 다른 개발자분들 역시도 이 방식을 추구하는데 그 이유는 개발환경이 매번 바뀌기 때문에 그 때마다 삭제하고 설치하는 시간이 매우 아깝기 때문입니다. 더욱이 이 방식은 사용하다보면 편리하다는 점을 느끼게 될 것 입니다.

====================================================================
cf)
제가 처음 아나콘다를 접했던 2년 전만해도 Python을 설치하고 Anaconda를 설치해야하는 줄 알았지만 이번에 글을 다시 적게 되면서 새로이 알게된 것이 있는데
그것은 굳이 Python 을 설치할 필요가 없다는 점입니다.

그냥 자신이 설치하고 싶은 Python 버전에 맞는 Anaconda를 Anaconda Archiv에서 찾아 설치하면 됩니다.(저는 한심하게도 둘 다 설치할 뻔했다는....)

Anaconda 하나만 설치해야하는 또 하나의 이유가 있는데 그것은 Anaconda에서 자동으로 설치되는 Python 버전과 Python 공식 홈페이지에서 다운받아 설치한 Python 버전 상의 충돌이 있어 오류가 있다는 글들도 많이 확인할 수 있었습니다.

만약 둘 다 설치해도 문제가 없는데?라고 여겨지는 상태라면 굳이 바꿀필요가 없이 2번으로 넘어가서 설치방법을 보셔도 무방합니다.
====================================================================
추가 2018-12-23

저는 이제껏 한 번도 경험한 적 없었는데 Anaconda를 설치했을 때
1. 시작 메뉴에 Spyder, Jupyter Notebook이 없고 Prompt만 존재하는 경우를 겪거나
(해결책 : Anti Virus System을 끄시고 설치하세요. ex) 알약, AhnLab)

2. ~\Scripts\activate.bat 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜨면서 error로 Prompt를 사용할 수 없거나

<5 .2.0="">

3.  ~\Scripts\conda.exe 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜨면서 error로 Prompt를 사용할 수 없는 경험을 하게 될 수 있습니다.

<5 .2.0="">


특히나 2,3번과 관련해서는 다음 글로 자세히 작성해서 링크를 걸어놓겠습니다.
이것 때문에 저처럼 많은 시간을 소모하는 경우가 없기를 기원하겠습니다.
(만약 이 Error를 마주한다면 새로운 지옥을 경험하게 될 것 입니다....)
이 Error는 Anaconda가 아직도 수정하지 못한(?) Error로 StackOverflow에서도 Miniconda를 사용해 우회적인 방법으로 이것을 해결하려는 노력을 합니다.  물론 저는 이것도 되지않아서 다른 방법을 사용했습니다만...

2018-12-24 작성

Scripts activate.bat 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다(Scripts activate.bat is not recognized as an internal or external command, operable program or batch file.) solution
https://twinstarinfo.blogspot.com/2018/12/scripts-activatebat-scripts-activatebat.html

====================================================================

1. Anaconda 4.3.0 ~ 5.2.0 install -> pip install tensorflow

다시 알려드립니다만 굳이 Python 설치할 필요없습니다. 그러나 0)Install Python을 적는 것은 과거 그렇게 해오신 분들이 있기 때문에 혹여 필요하실까 적습니다. 새로 찾으시는 여러분은 바로 1) Install Anaconda로 넘어가시면 됩니다.

0) Install Python

혹시라도 파이썬을 설치해보고 싶다고 말씀하신다면 구글과 같은 검색엔진에 python만 쳐도 download를 바로 하실 수 있습니다. 버전과 관련해서는 download 항목을 클릭해서 자신이 다운받고 싶은 버전을 클릭하시면 됩니다.


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

가령 Python 3.6.7을 다운받고 싶다고 생각해서 클릭하면 나오는 창의 마지막 부분에 다음과 같이 운영체제에 맞게 받을 수 있게 정리되어 있습니다.


저는 Window 64bit Intel이기 때문에 Windows x86-64 exacutable installer를 실행 인스톨러를 다운받아 실행시켰지만 embeddable zip file 형태나 web-based installer를 다운받아 설치해도 무방합니다.

32bit이신분은 아래 Windows x86 ~에 해당하는 파일을 다운받으셔야합니다.

참고로 64bit는 32bit를 다운받아도 문제없지만 32bit가 64bit를 다운받으면 실행이 되지않습니다.

자신의 컴퓨터 비트는 제어판 - 시스템에 가시면 시스템 종류에 64비트 운영 체제인지 32비트 운영 체제인지 확인할 수 있습니다.

이외에도 자신의 운영체제, CPU, RAM 정보를 확인할 수 있습니다.

1) Install Anaconda



https://repo.anaconda.com/archive/

Python 3.5 Version에 맞는 아나콘다를 설치하고 싶다면
'Anaconda3-4.2.0-운영체제-bits'를 찾아서 설치하시면되고

Python 3.6.0 Version에 맞는 아나콘다를 설치하고 싶다면
'Anaconda3-4.3.0-운영체제-bits'를 찾아서 설치하시면 됩니다.

물론 Python 3.6.7까지의 Version에 해당하는 Anaconda3-5.2.0까지의 Version을 다운 받으셔도 무방합니다.

만약 처음이신 분은 안전하게 Anaconda 5.0.1을 다운받으시거나 Anaconda 4.3.1을 다운받으시는 것을 추천드립니다.

참고로 저는 Window 64bit이므로 Anaconda3-4.3.1-Windows-x86_64를 다운받았습니다.
Install for : Just Me
Destination Folder : 설치하고자하는 위치로 변경해줍니다.
Advanced Option : 2개 모두 체크


여러분이 제대로 설치했다면 Anaconda Prompt에 python -V를 쳤을 때
자신의 Python 버전과 Anaconda 버전 정보를 확인하실 수 있을 것 입니다.

2) Install Tensorflow

자 이제 마지막 Tensorflow를 설치해봅시다.

Anaconda를 설치했다면 Window 10에서는 시작 메뉴 Anaconda 폴더가 생겼을 것입니다.
이곳에서 Anaconda Prompt라는 Command 실행창을 오른쪽 클릭한 후 관리자 권한으로 실행해줍니다.

그곳에 우리는 다음과 같은 명령어를 쳐봅시다.

pip install tensorflow

실행이 완료되었다면 prompt 창에 아래와 같은 순서로 쳤을 때 오류가 나지 않는다면 여러분의 Anaconda는 tensorflow를 실행할 준비가 완료되었습니다.

python
import tensorflow



완료!
(import tensorflow 이후 다시 나가기 위해서는 ctrl+z를 누르시고 enter 누르면 됩니다.)

2. Already Exist Python & Anaconda -> create env

-> pip install tensorflow

이미 파이썬과 아나콘다가 최신 버전으로 깔려있는 분들 혹은 깔려는 분들에게 해당하는 이 부분은 제가 선호하는 방식입니다. 물론 저도 나중에서야 깨닫게 되었지만 환경이 바뀔 때마다 설치와 삭제를 반복하는 행동을 멍청한 짓이라 규정할 만큼 간단하고 편리합니다.

1) Install Anaconda

우선 아나콘다나 파이썬이 설치되지 않은 사람은 가장 최신 버전의 Anaconda를 설치해도 좋고 다른 어떤 버전의 Anaconda를 설치해도 좋습니다.

이 글을 적는 2018-12-23일에 발견할 수 있는 가장 최신 Anaconda는
Anaconda3-2018-12로 홈페이지에 방문하면 바로 확인할 수 있습니다.


Anaconda가 설치되었다면 시작 메뉴 - Anaconda Prompt를 오른쪽 버튼을 클릭해서 관리자 권한으로 실행시켜줍니다.

2) Create Virtual Environment

그 후 다음 명령어들을 순차적으로 기입합니다.
python -m pip install --upgrade pip
conda create -n tensorflow python=3.6
Proceed(y/n)?  ==> y
====================================================================

cf)
tensorflow 대신에 다른 이름을 넣어도 됩니다.
또한 python version 3.6 대신 3.5를 넣어도 됩니다
가령 conda create -n stat python=3.5
이렇게 적는다면
'나는 stat이라는 env를 python version 3.5에 맞게 가상환경을 생성하겠습니다'가 됩니다.

conda env list를 치면 여러분이 만드신 가상 환경이 새로 생겨남을 알 수 있습니다.
이 경로는 여러분이 만든 Anaconda 경로 - envs에 가면 여러분이 지어놓은 이름의 폴더가 하나 생성됨을 확인할 수 있습니다.

====================================================================

이후
activate tensorflow
(tensorflow 위치에 env에서 지었던 이름을 적어줍니다. 저는 tensorflow로 만들었다고 가정하고 적겠습니다.)
pip install tensorflow

python
import tensorflow


오류가 없다면 잘 설치되었습니다.

완료!

root로 나가고 싶다면 위와 같은 command 상태에서는
ctrl+z로 python 밖으로 나간 후 deactivate를 치시면 됩니다

====================================================================

마무리

1,2번에서 마무리된 후의 이미지 파일들을 보며 비교해봅시다.

1번 방법 후



2번 방법 후



차이가 느껴지시나요?

만약 여러분이 1번의 상황(root에 설치)에서 error가 난다고 가정해봅시다. env를 할 줄 모르는 사람은 아나콘다를 지우고 다시 그 버전에 맞는 것을 찾아 설치하는 과정과 각 종 필요한 패키지를 install해야하는 번거로움을 느껴야합니다.

그러나 만약 여러분이 2번과 같이 env에 만들었던 환경에서 error가 난다면 어찌하면 될까요?
error가 나는 환경은 놓아두거나 삭제하고 다른 env 환경을 다시 만들면 됩니다. 그 시간 차이는 얼마나 걸릴까요? Anaconda를 설치해본 사람이라면 그 차이는 정말 몇 분~ 수 십분이 난다는 것을 확인할 수 있습니다. 그래서 저는 2번 env 환경을 만드는 것을 여러분께 추천드리는 것입니다.

많은 곳에서는 이렇게 하라고만 이야기하고 그 이야기를 정확히 하지 않해서 저도 귀찮게 여겼기 때문에 오랫동안 몰랐던 것이 사실입니다. 나중에 이 차이는 정말 크게 온다는 것을 여러분이 아셨으면 좋겠습니다.

Tensorflow를 사용한다는 것은 다량의 데이터를 다루는 데이터 사이언스 혹은 분석가의 역량에 해당하는 머신러닝 & 딥러닝을 다루는 분들이 많을 것으로 생각됩니다. 가상환경 자주 사용하니 꼭 기억해두시길 바랍니다.

다음 글은 서론에서 이야기한 Anaconda의 Error 해결법에 대해서 다룰 예정입니다.
다다음 글은 tensorflow-gpu 설치 방법에 대해서 다룰 것입니다.

Tensorflow를 설치하는데 고생많으셨습니다.

감사합니다.

 ALL RIGHT RESERVED TWINSTARINFO