การติดตั้ง Tensorflow & Caffe บน Ubuntu 16.04
Ubuntu 17.04 ก็สามารถใช้วิธีเดียวกันนี้ได้ แต่ในส่วนของ Caffe จะง่ายกว่ามาก
การติดตั้งโปรแกรมสำหรับการทำงานเกี่ยวกับ Machine Learning / Deep Learning ถือเป็นเรื่องยากอย่างหนึ่ง และการติดตั้งในแต่ละครั้งก็จะพบปัญหาต่างๆ มากมาย ไม่เหมือนกันเท่าไรนัก ดังนั้นบทความนี้จึงเป็นเพียงวิธีการติดตั้งแบบหนึ่งที่สามารถทำได้จริงและใช้งานได้จริงเท่านั้น ซึ่งหากทำตามขั้นตอนนี้แล้วอาจจะพบข้อผิดพลาดที่ไม่เหมือนกันก็ได้
ในหลายๆ งานที่ทำเกี่ยวกับการประมวลผลรูปภาพ มักจะใช้วิธีการ Deep Learning และมักจะใช้เครื่องมือที่เหมาะกับการประมวลผล ซึ่งในบทความนี้จะใช้ TensorFlow และ Caffe ร่วมกับ OpenCV 3 และเครื่องมืออื่นๆ ที่เกี่ยวข้อง โดยจะติดตั้งและใช้งานร่วมกับ GPU Nvidia Gfource GTX 1080 TI
การติดตั้ง TensorFlow ในบมความนี้ จะอ้างอิงตาม https://www.tensorflow.org/install/install_linux ซึ่งเป็นเว็บไซต์อย่างเป็นทางการของ TensorFlow
มาเริ่มกันเลย
- ติดตั้ง Nvidia Driver สำหรับ GTX 1080 TI ให้เป็นเวอร์ชั่นล่าสุด
- ติดตั้ง CUDA® Toolkit 8.0 โดยทำตาม Nividia’s Documentation
- ดาวน์โหลด CUDA® Toolkit 8.0 จาก https://developer.nvidia.com/cuda-downloads โดยเลือกแบบ deb(network) (EDIT: สำหรับเวอร์ชั่นเก่า https://developer.nvidia.com/cuda-toolkit-archive หรือ sudo apt-get install cuda-8-0)
- ทำการติดตั้งโดยพิมพ์คำสั่งดังนี้
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
vi ~/.bashrc
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export CUDA_HOME=/usr/local/cuda-8.0/bin${CUDA_HOME:+:${CUDA_HOME}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64 ${LD_LIBRARY_PATH:+"${LD_LIBRARY_PATH}}
source ~/.bashrc
nvcc --version
- ติดตั้ง cuDNN v5.1 หรือ v6.0 ดาวน์โหลดจาก Nvidia’s cuDNN (ตอนนี้แนะนำให้เลือกเวอร์ชั่น 5.1 หรือ 6.0 นะครับ เพราะเวอร์ชั่นอื่นลองแล้วยังติดปัญหามากมาย ถ้าจะให้ง่ายก็ลงทั้งสองเวอร์ชั่นนี้เลย โดยลงเวอร์ชั่น 6.0 ทีหลัง อันนี้เป็นเทคนิคเล็กน้อยครับ)
- แตกไฟล์ให้เรียบร้อยและรันคำสั่งต่อไปนี้
sudo cp -P include/cudnn.h /usr/local/cuda-8.0/include
sudo cp -P lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda-8.0/lib64/libcudnn*
sudo apt-get install libcupti-dev
- ติดตั้ง pip โดยใช้คำสั่งต่อไปนี้
sudo apt-get install python-pip python-dev
- ติดตั้ง TensorFlow โดยใช้คำสั่งต่อไปนี้
sudo pip install tensorflow-gpu
- รันทดสอบด้วยชุดคำสั่ง python ดังนี้
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
- ติดตั้ง OpenCV 3 และผองเพื่อน
sudo apt-get install build-essential cmake git pkg-config libjpeg8-dev \
libjasper-dev libpng12-dev libgtk2.0-dev \
libavcodec-dev libavformat-dev libswscale-dev libv4l-dev gfortran
sudo apt-get install libtiff5-dev
sudo apt-get install libatlas-base-dev
sudo pip install numpy
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install
sudo ldconfig
- รันทดสอบสอบ OpenCV ด้วยชุดคำสั่งนี้
python
>>> import cv2
>>> cv2.__version__
'3.2.0'
- ติดตั้ง Caffe และผองเพื่อน
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev \
libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
sudo apt-get install -y --no-install-recommends libboost-all-dev
sudo apt-get install python-numpy
sudo pip install scikit-image
git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config
- แก้ไขไฟล์ Makefile.config ดังนี้
# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1
# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include
# Uncomment to support layers written in Python (will link against Python libs)
WITH_PYTHON_LAYER := 1
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
make all
make test
make runtest
make pycaffe
sudo vi ~/.bashrc
export PYTHONPATH=./.local/lib/python2.7/site-packages${PYTHONPATH:+:${PYTHONPATH}}
export PYTHONPATH=~/caffe/python${PYTHONPATH:+:${PYTHONPATH}}
source ~/.bashrc
python
>>> import caffe
>>>
ขอให้โชคดีในการติดตั้งครับ เพราะมันค่อนข้างจะใช้โชคช่วยด้วยเหมือนกัน 555+