IT 관련/Tensorflow

tensorflow(Linux) 설치

nullzone 2017. 12. 16.
반응형

설치시 필요사항


Ubuntu 16.04 추천

CentOS 등의 Linux도 가능할 것리지만,  TensorFlow는 최신의 라이블러리등을 필요로 하고 GPU version 등의 문제들을 고려 하면 CentOS 등에는 지원이 부족하므로 가능 하면 Ubuntu 를 추천한다.

더불어 약간의 컴퓨터에 대한 지식도 필요하다. 

그러나, 뭐니 뭐니 해도 열정이 가장 중요 하다. 


Tensorflow의 경우 지원 언어가  Python,  C, Java 등의 언어를 지원하지만, 내부적으로 사용해야 하는 수학함수들이 해당 언어에서 지원되거나, 안되면 직접 구현하여 하므로 일단 tensorflow을 시작한다면 Python 을 우선적으로 사용하자. 



Python (anaconda 사용 추천)

ubuntu + tensorflow(python2.7 or Python3.5) 으로 구성해보자

Tensorflow에서 지원하는 Python version은 공식적으로 2.7, 3.5 버전이다. 


처음 tensorflow를 공부 했을때 나도 왠만하면 최신버전을 무척 좋아 하는 편이여서 Python 3.5를 기준으로 셋팅을 했었는데 공부 하다 보니 대부분의 예제들이 Python 2.7로 작성되어 있어서 애를 먹은 경험이 있다. 

(그러나 현재 시점으로 보면 3.5 이상의 버전이 주를 이룬다. )


또한, 기존 리눅스에서 Python Base로 구동 되는 프로그램들이 있을 경우, python3.x  를 지원하지 않는다면Tensorflow때문에 기존 python버전을 upgrade 하여 낭패를 볼수도 있으니 가능한 anaconda 를 이용해서 설치 할 것을 권장한다. 


여담으로 다른 언어들도 문제가 있지만  Python 의 경우 무수한 library 들과 이들의 버전에 따른 문제를 보면 라이블러리 지옥이라는 말에 공감한다. 


Tensorflow

워낙에 핫한 아이템이다.(물론 시간이 지나면 Old한 이야기가 될수도 있다)

짧은기간에 버전이 1.0->1.1->1.2->1.4->1.5까지  업로드 되다보니 간혹 최신버전에 에러가 있거나, GPU지원 모듈지원에 간혹 문제가 있으므로 가능한 최신버전의 한단계 아래버전의 사용을 추천한다.


GPU 지원 역시 마찬가지로 가능한 최신버전의 한단계 아래버전의 사용을 추천한다.

(이 글에서는 GPU 버전지원을 위한 Cuda Toolkit 과 cuDNN 설치는 언급하지 않고 windows 용 tensorflow 설치 글을 참고 하도록 한다)


설치 순서는

1. Anaconda install

2. Anaconda setting

3. Tensorflow  install

4. Tensorflow  확인

순으로 진행 한다. 


1. Anaconda install

Anaconda dowload (https://www.anaconda.com/download/) 에서 Linux 64bit 버전 다운로드

다운로드시 Python 3.x , Python 2.x 버전을 선택 할수 있는데 어떤 버전을 선택해도 Python 3.x, Python 2.7을 설치 할수 있으니 상관 없다. (가능한 Python 3을 다운 받자)


다운 받은 후, 

anaconda package를 install 하자.

$sudo bash Anaconda3-x.x.x-Linux-x86_64.sh
home/{user}/anaconda3 에 설치되며, 설치중 환경 변수를 포함할지 여부를 물어 보는데 "Y"로 답하여 anaconda 설치 경로를 path 에 추가 한다.


설치가 종료되면 

소유권을 변경하여준다.(root 권한을 반드시 일반계정 소유로 변경하자)

$ sudo chown -R {user}:{user} /home/{user}/anaconda3


2. Anaconda setting


아나콘다(콘다: conda) 사용법 및 개념

python 은 무수한 라이블러리와 버전이 존재 하므로 이를 관리 하기 위하여 python 개발 환경(공간)을 virtual 하게 생성하고 관리 할수 있도록 지원한다.


이제 콘다 명령을 통하여 python2.7+tensorflow, python3.5+tensorflow 두개의 공간을 생성하자 

$conda create -n tf27 python=2.7
$conda create -n tf35 python=3.5

anaconda3/envs/에 tf27, tf35 디렉토리가 생성되며 각 디렉토리에 기본적인 구조가 생성된다.



작업 환경으로 들어가려면 activate 명령을 사용한다.

$source activate tf35
(tf35) $
activate 명령을 통하여 anaconda에서 생성된 작업 공간으로 들어 갈 수 있다.
프롬프트 앞에 conda name이 붙는다.
* $source deactivate 명령으로 conda 환경에서 나올수 있다.


이제 부터 Python library 설치, tensorflow 설치등의 작업은 anaconda에서 생성한  작업 공간에서 이루어진다.
당연한 이야기지만 anaconda에서 생성된 환경은 다른 환경에 영향을 주지 않고 독립적으로 사용된다.
tf35에서 tensorflow를 인스톨 하였더라도 tf27공간에서는 인스톨 되지 않은 것이다.
tf35는 기본적을 Python 3.5를 사용하므로 Python 2.x 에서 사용되는 print 'print'대신 print('print') 라는 명령어를 사용 해야 한다.


3. Tensorflow  install

tensorflow 설치

python version  확인후,

$source activate tf35
(tf35)$python -V
Python 3.5.4 :: Anaconda, Inc.

tensorflow Python Package (https://www.tensorflow.org/install/install_linux#the_url_of_the_tensorflow_python_package) 를 참조 하여 Python version에 맞는 tensorflow source url을 확인한다.


예)Python 3.5 ,CPU(no gpu) 1.4버전의 tensorflow 설치 

$source activate tf35
tf35) $ pip install --ignore-installed --upgrade \
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.4.0-cp35-cp35m-linux_x86_64.whl


4. Tensorflow  확인

특별한 오류가 없었다면  아래 명령을 이용하여 tensorflow 가 올바르게 설치되었는지 확인하자 

$source activate tf35
(tf35) $ python
>>> import tensorflow as tf
>>> print tf.__version__
//python 2.7 의 경우 print(tf.__version__)


 Python 2.7의 경우도 동일한 순서로 인스톨하면 큰 문제 없을 겁니다.




반응형

댓글