Tensorflow2016.09.26 17:00

구글에서 공개한 오픈소스 ML software인 Tensorflow를 사용해보려고 합니다.

Tensorflow는 Graph 기반의 수학적인 연산을 위한 소프트웨어입니다. 이미 유명한 Matlab/Octave와 비슷한 역할을 하는 프로그램인데, 조금 다른점은 python 기반으로 돌아가는 무료이면서 소스가 모두 공개가 되어 있다는 것입니다.

공개한지 얼마되지 않았음에도 많은 사람들이 관심을 가지고 사용하고 있는 것 같습니다.


Tensorflow의 장점이라고 하면 수학적인 연산을 할때 CPU뿐만 아니라 GPU를 사용해서 더욱 빠르게 처리가 가능하도록 지원하고 있고, 분산 환경을 지원해서 다양한 Device에서 병렬처리가 가능하다는 것입니다

그리고 Server 뿐만아니라 일반 PC나 모바일에서도 실행이 가능한 것 같습니다. 곧 Tensor앱도 나올 수 있겠군요.^^



ubuntu 14에서 Tensorflow를 설치를 해보겠습니다.

저는 무료로 AWS 서버를 사용하고 있기 때문에 간단하게 가상환경에서 설치하도록 하겠습니다.


1. apt-get을 최신화합니다.

$ sudo apt-get update


2. python-pip과 python-dev를 설치합니다. 

python-dev를 설치하지 않으면 나중에 Tensorflow 설치할때 외부 lib들이 없으면 에러가 발생하니 설치해주는게 좋은 것 같습니다. 설치가 되면 pip을 최신화 한번 해줍니다.

$ sudo apt-get install python-pip python-dev

$ sudo pip install --upgrade pip


3. python-virtualenv을 설치합니다. 

python이 많은 library들을 설치하고 사용해야 하기 때문에 버젼관리나 패키지 관리를 위해서 가상환경을 만들어서 사용하는 것이 좋습니다. 전체 시스템에 영향을 최소화하고 특정 프로젝트 폴더내에서만 사용하도록 제한할 수 있기 때문입니다.

저는 Tensorflow 용으로 환경을 하나 만들고, 일반 python 용으로 환경을 하나 더 만들기 위해서 입니다.

$ sudo apt-get install python-virtualenv


4. virtualenv 환경 셋팅을 합니다.

가상환경을 새로 만들기 위해서 virtualenv 명령어를 사용해서 설치될 디렉토리를 지정해줍니다. 이 디렉토리 이름이 가상환경의 이름이 됩니다. 저는 Tensorflow라는 이름으로 생성하겠습니다.

$ virtualenv --system-site-packages ~/Tensorflow


5. 생성한 가상환경을 활성화합니다.

가상환경을 여러개를 만들수 있기 때문에 사용할 가상환경을 그때그때 활성화/비활성화를 해주면 됩니다. 가상환경을 활성화하게 되면 프롬프트 앞에 이름이 표기가 되기 때문에 현재 환경이 어디인지 쉽게 알수 있습니다.

$ source ~/Tensorflow/bin/activate

(Tensorflow)$ #프롬프트가 변경됨


6. 이제 가상환경내에 Tensorflow 를 설치합니다.

저는 python 2.7버젼을 사용하고 있기 때문에 아래와 같은 Tensorflow 설치 경로를 사용하지만, 자신의 os와 python에 맞는 경로를 찾아서 사용하시면 됩니다. 버젼별 다운로드 경로 찾기

(Tensorflow)$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc1-cp27-none-linux_x86_64.whl

(Tensorflow)$ pip install --upgrade $TF_BINARY_URL


7. 이제 설치가 잘되었는지 확인을 해봅니다.

python을 실행해서 tensorflow를 이용해서 간단한 연산과 결과를 print 해보는 예제를 실행합니다. 정상적으로 결과가 나온다면 설치가 잘 완료되었습니다.

(Tensorflow)$ python

...

>>> import tensorflow as tf

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

>>> sess = tf.Session()

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

Hello, TensorFlow!

>>> a = tf.constant(10)

>>> b = tf.constant(32)

>>> print(sess.run(a + b))

42

>>>quit()


8. 가상환경에서 모든 작업이 끝났다면 아래와 같이 비활성화를 해주고 본래의 환경으로 돌아옵니다.

(Tensorflow)deactivate



Posted by 대소니

댓글을 달아 주세요