머신러닝(Tensorflow) 사용기 2 (Tensorflow 설치)

   조회 26361   추천 8    

안녕하세요

Tensorflow 두번째 강좌 입니다.


이 강좌는 Tensorflow 홈페이지에 나와있는 과정을 따라해 본 내용입니다.

원문을 보고 싶으시면 아래 링크를 참조 해 주세요

https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html#download-and-setup


Tensorflow 는 리눅스 환경에서 동작하고 Python 으로 실행됩니다.

따라서 리눅스와 Python을 기본으로 설치해야 하고

거기에 Tensorflow를 추가로 설치 해야 합니다.


이를 위해서 크게보면 3가지 방법이 가능한데요

1. 리눅스에 파이선을 설치하는 법

2. 리눅스에 가상 파이선 환경을 설치(Virtualenv, Anaconda) 하는 법

3. Windows에 Docker를 설치하고 그 위에서 실행 하는 법


가상 파이선 환경을 구축하는 것이 여러프로젝트를 진행 할때는

좋다고 하는데 오늘은 제일 기본이 되는 1번 방법을 이용해서 설치 해 보겠습니다.


가. 리눅스가 설치되어 있는 머신이 있다고 가정하고 진행하겠습니다.

    저는 google cloud에서 Virtual machine을 사용해서 환경을 구축했습니다.

    사용해 보니 좋더라구요. 클릭 몇번으로 원하는 코어에 원하는 운영체제로

    가상 머신을 만들어 줍니다.

    개발 환경은 Ubuntu14.04 LTS 로 진행 했습니다.  


나. Python 설치

   Ubuntu14.04에는 기본으로 python 2.7.6이 설치 되어 있습니다.


다. PIP를 설치 해 줍니다.

   sudo apt-get install python-pip python-dev

   이것은 Python으로 작성된 Library를 관리하는 프로그램으로

   Python에서 하나의 라이브러리를 사용하려면 다른 라이브러리에 의존성이 있어서

   다른 필요한 것들을 설치 해 줘야 합니다.

   설치가 한번에 되지 않을 수 있는데요      위와 같은 에러가 발생하면 sudo apt-get update 를 해 주시고

   sudo apt-get install python-pip 를 실행 켜주시면 완료 됩니다.


라. Tensorflow 설치

  텐서플로우에는 여러가지 버전이 있습니다.

  Python 버전별로 설치 버전이 달라지고 GPU 이용여부에 따라서도 버전이달라집니다.

  제 PC는 CPU 밖에 없어서 CPU only, Python 2.7 버전으로 설치 해 보겠습니다.

# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

# Mac OS X, CPU only, Python 2.7:
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py2-none-any.whl

# Ubuntu/Linux 64-bit, CPU only, Python 3.4
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp34-cp34m-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4 
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp34-cp34m-linux_x86_64.whl

# Ubuntu/Linux 64-bit, CPU only, Python 3.5
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 3.5 
# Requires CUDA toolkit 7.5 and CuDNN v4. For other versions, see "Install from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl

# Mac OS X, CPU only, Python 3.4 or 3.5:
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/tensorflow-0.9.0-py3-none-any.whl


아래 두 명령어를 실행 시켜 주시면 설치가 완료 됩니다.

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl  
sudo pip install --upgrade $TF_BINARY_URL


마. 설치 확인

  잘 설치 되었는지 확인을 위해서 간단한 코드를 실행 시켜 보겠습니다.

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

간단히 코드를 살펴보면

Tensorflow 에서 모든 변수는 Tensor 라는 단위로 처리됩니다. (그래서 Tensorflow 입니다.)

tf.constant 는 상수형 Tensor를 생성 해 주는 명령이고

tf.Session 은 텐서가 수행되는 환경을 캡슐화 해 줍니다.

결국 상수를 생성하여 Session안에 집어넣고 수행 해주는 구조가 되겠습니다.


또 다른 예제를 보면 아래와 같이 산술 연산도 가능합니다.

 a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42


제 PC에서 수행한 결과는 아래와 같습니다.


여기까지 하시면 기본 설치가 완료 됩니다.

수고하셨습니다.


다음에는 간단한 모형을 학습 시켜 보겠습니다.

하셀호프 2016-07
gpu 버전도 시도해 보시지요.
CUDA도 아마 compatibility 2.1인가 부터 지원할 겁니다.
가속 정도도 대단히 궁금합니다
점점 흥미롭습니다. 쪼금 어렵기도 합니다.
전문가의 탄생입니다. 화이팅입니다.
링크하나 연결해드립니다
http://www.complexity.co.kr/?p=2476
     
nshhsn 2016-07
해 보고 싶은데 제 PC들은 하나같이 GPU가 없어서요
본격적으로 하게 되면 장비를 갖출테니 그때 해 볼 수 있을 것 같습니다.

안그래도 Titan X 사고 싶어서 보는데 가격이 만만치 않네요
얼른 머신러닝용 클라우드 서비스가 나오기를 기다리고 있습니다.
Amazon에서는 GPU 4개짜리 instance가 있어서
아쉬운데로 여기서 해 볼 수 있을 것 같습니다.

감사합니다.
          
하셀호프 2016-07
computing capability 3.5이상이면 가동된다네요.
https://developer.nvidia.com/cuda-gpus
titan 아니라도 저렴하게 돌릴 수도 있는 모양입니다.
gtx 950 이상이면 되는 것으로 나옵니다.
gtx950만해도 코어가 768개입니다.
     
장한주 2016-10
AMD의 스트림프로세서로는 불가능하나요?
          
nshhsn 2016-10
Gpu쪽은 nvidia 만 되지만
Cpu쪽은 제약이 있다는 얘기를 듣지 못 했습니다
제 생각에는 리눅스만 설치 된다면 문제 없을것 같습니다
          
하셀호프 2016-10
amd cpu의  내장 gpu 말씀이신가요?
그렇다면 이 경우는 nvidia가 아닙니다. 아마 ati
ati는 않됩니다.
               
장한주 2016-10
AMD의 GPU 즉 ATI의 그래픽카드군에 있는 쿠드코어 = 스트림 프로세서를 말한겁니다. 쿠다코어와 같은 파종입니다. 그런데 대부분 지원안하는것 같더라고요.. 이번 RX제품들에 스트림 프로세서가 제거된것 같습니다..
                    
하셀호프 2016-10
ati의 gpu는 CUDA를 지원하지 않습니다. TensorFlow는 기본적으로 CUDA 기반이기 때문에
ati 기반 gpu는 TensorFlow 사용할 수 없습니다. ati용은 openCL이 있는데 TensorFlow는
openCL 지원하지 않습니다. 앞으로는 지원될 것으로 봅니다만..
hyhyhy 2016-12
sudo pip install --upgrade $TF_BINARY_URL을 입력하니까
The directory '/home/USERRR/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/USERRR/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
tensorflow-0.9.0-cp35-cp35m-linux_x86_64.whl is not a supported wheel on this platform.
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.라고 뜨면서 텐서플로우설치가 되지않습니다.. 영어고자라 막막하네요. 어떻게 하면되는지..

USERRR@PC-GOGO:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tensorflow


제목Page 19/28
2016-08   23810   키네시스
2016-08   16212   QS왕통키손…
2016-08   24604   백만스물하나
2016-08   29432   미나리나물
2016-08   26144   미나리나물
2016-08   20019   김황중
2016-07   18428   백만스물하나
2016-07   21648   백만스물하나
2016-07   26362   백만스물하나
2016-07   94862   백만스물하나
2016-07   18172   inquisitive
2016-07   28743   무아
2016-07   17391   NeOpLE
2016-07   14539   이지포토
2016-07   13619   isaiah
2016-07   13337   황진우
2016-07   15596   황진우
2016-07   30038   두포리
2016-06   25119   백두성
2016-06   17730   무아