TensorFlow를 사용해볼까 한다. (오늘은 3월 2일)
아직 아무것도 준비된 건 없고, 오늘 처음으로 연구실 새로운 서버 아이디를 만들고 접속을 했다.
현재 접속 중인 서버의 사양은
cat /etc/issue
를 치니 나오는데
Ubuntu 14.04.3 LTS
이다.
오늘 처음으로
https://www.tensorflow.org/versions/r0.7/tutorials/index.html
에 들어가서 MNIST For ML Beginners를 볼 예정이다.
https://www.tensorflow.org/versions/r0.7/tutorials/mnist/beginners/index.html
에 들어왔다.
일단 설치를 하라고 한다.
https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html
에 들어왔다.
텐서 플로우는 Python 2.7과 Python 3.3를 지원한다고 한다. (난 파이썬을 모른다.)
GPU역시 Cuda Toolkit >= 7.0과 cuDNN >= v2 라고 한다. (몬소린지 모른다.)
일단 현재 서버의 GPU를 확인해보자.
lspci | grep -i vga
를 치면 나온다.
02:00.0 VGA compatible controller: NVDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)
82:00.0 VGA compatible controller: NVDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)
라고 나온다.
왠지 타이탄이 두 개 있는 것 같다. (아마도)
https://www.tensorflow.org/versions/r0.7/get_started/os_setup.html#optional-install-cuda-gpus-on-linux
를 확인하니 타이탄이 지원이 되는 것 같다.
위의 홈페이지를 참조하여 CUDA를 설치해보자.
https://developer.nvidia.com/cuda-downloads
에 들어갔다.
Linux를 고르니 x86_64와 ppc64le 중에 하나를 고르라고 한다.
왠지 x86_64일 것 같은 느낌이 든다.
그 다음은 Ubuntu
그리고 14.04를 골랐다.
Installer Type을 고르란다. 왠지 모르게 deb (local)이 좋아보인다.
1.9GB을 다운로드 하라고 한다. 13분 남았다고한다. 생각보다 인터넷이 빠른다.
다 받은 뒤에는 아래와 같이 하라고 알려준다.
Installation Instructions:
sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda
을 하라고 알려준다.
문제가 생겼다. 연구실 서버에 내 아이디로 들어가서는 sudo를 쓸 수가 없다. 게다가 이미 쿠다는 설치가 되어있다고 한다. 그럼 연구실 아이디로 들어가서 TensorFlow를 설치해보자. 아이디와 비번은 매우 익숙한 그것이다.
연구실이름 / 이름거꾸로+날짜
먼저 설치되어있는 쿠다의 버젼을 확인해보자.
nvcc --version
을 하면
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17
Pip install
Virtualenv install
Docker install
이 중에서 맨 처음 있는 Pip install을 이용해서 해보자.
Pip는 Python으로 쓰여진 software package를 설치하고 관리하는 시스템이라고 한다.
먼저 pip (혹은 pip3)를 설치를 해보자.
sudo apt-get install python-pip python-dev
이것 저것 설치가 되었다.
이제 텐서플로우를 설치하자. (Ubuntu/Linux 64-bit, GPU enabled)
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
복붙이 안되어서 이걸 그대로 쳤다..
몬가 많은 일들이 일어난다. 에러가 안나길. 제발.
이게 끝나고 나면, python3를 설치해야한다. (For python3: 이라고 되어있는데, 잘 모르겠다 사실)
sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.7.1-cp34-none-linux_x86_64.whl
- 엇 이건 안된다.
tensorflow-0.7.1-cp34-none-linux_x86_64.whl is not a supported wheel on this platform.
Storing debug log for failure in /home/cpslab/.pip/pip.log
에러가 난다!!!
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:99] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /usr/local/cuda-7.5/lib64
I tensorflow/stream_executor/cuda/cuda_dnn.cc:1407] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
좀 더 구글링을 해보자...
일단 cudnn을 다시 설치하는 방향으로 가본다.
https://developer.nvidia.com/cudnn
에 들어간다.
아이디가 필요하지만, 건호걸 사용한다.
cuDNN v4 Library for Linux
를 일단 받는다.
cudnn 설치 방법
LINUX
cd <installpath>
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
Add <installpath> to your build and link process by adding -I<installpath> to your compile
line and -L<installpath> -lcudnn to your link line.
이게 무슨 소리냐..
사실 위에 있는게 무슨 소리인지는 모르겠고, cudnn을 받은 다음에 /usr/local/cuda-7.5에 해당 폴더에 붙여넣기를 했다. 리눅스에서 그냥 복붙을 하면 안되고,
sudo chmod 777 -R /해당폴더
를 해줘야한다. 귀찮다.
이제 아래 써 있는 것들이 된다.
이제 데모를 돌려보자.
cd /usr/local/lib/python2.7/dist-packages/tensorflow
로 가자.
python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
치자.
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
이러면 몬가 막 된다.. 다운도 받는다.
...
Minibatch error: 0.0%
Validation error: 0.9%
Test error: 0.7%
'Enginius > Python&TensorFlow' 카테고리의 다른 글
JupyterHub on AWS EC2 (0) | 2016.04.08 |
---|---|
딥러닝 강의 1주차 + VirtualBox에 Ubuntu + Anaconda (4) | 2016.04.08 |
AWS EC2 Ubuntu 사용하기 + Jupyterhub 써보기 (0) | 2016.04.07 |
Basic Python Usage (0) | 2016.04.06 |
TensorFlow 맛보기 (2) | 2016.03.02 |