การติดตั้ง TensorFlow & Caffe บน Ubuntu 16.04

Line
Facebook
Twitter
Google

การติดตั้ง 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+

Line
Facebook
Twitter
Google
แนะนำเครื่องมือที่ใช้พัฒนา MEAN Stack #2
MEAN Stack คืออะไร #1
เตรียม Atom สำหรับ React Native #3
เตรียม Visual Studio Code สำหรับ React Native #2
การติดตั้ง React Native บน macOs #1
การกำหนดค่า TF_MIN_GPU_MULTIPROCESSOR_COUNT เพื่อให้ TensorFlow ใช้งาน GPU ทุกตัว
ติดตั้ง Ubuntu 17.04 ใช้งานร่วมกับ Windows 10
การติดตั้ง TensorFlow & Caffe บน Ubuntu 16.04