Keep Moving Forward

Sunday, May 15, 2016

Install Caffe library on Ubuntu 14.04 Step-by-Step (with images instruction)

1:53 PM Posted by Cáp Hữu Quân , , No comments
Deep Learning hiện đang là mô hình hiệu quả để giải quyết rất nhiều vấn đề như Xử Lý Ảnh, Xử Lý Ngôn Ngữ Tự Nhiên..v.v. Việc hiện thực hóa các mô hình Deep Learning bây giờ không mấy khó khăn vì đã có rất nhiều thư viện hỗ trợ việc thiết kế mô hình mạng neural. Caffe là một trong những thư viện hỗ trợ Deep Learning có đông đảo người dùng nhất. Caffe rất mạnh trong việc xử lý ảnh và nó cũng có thể thiết kế các mô hình Deep Learning cho các vấn đề khác. Thư viện này có thể kết hợp với GPU của NVIDIA giúp cải thiện tốc độ huấn luyện mạng thông qua CUDA.

Bài viết này sẽ hướng dẫn cách cài Caffe chi tiết từng bước cho người mới bắt đầu trên hệ điều hành Ubuntu 14.04 LTS 64 bits.

Trước tiên, bạn cần tải bản mới nhất của Caffe về tại địa chỉ:
https://github.com/BVLC/caffe/archive/master.zip
Có thể sử dụng lệnh git clone http://github.com/BVLC/caffe.git nếu như máy bạn có cài git sẵn.
Sau khi tải về, các bạn xả nén Caffe vào 1 thư mục nào đó để dễ quản lý. Ở trường hợp này, Caffe sẽ lưu ở đường dẫn /home/caffe


Tiếp theo, cài đặt thư viện cần thiết để hỗ trợ compile và build caffe.
Lưu ý: Nếu máy tính không có card màn hình của hãng NVIDIA thì không cần cài thư viện CUDA. Trong lúc huấn luyện sẽ sử dụng CPU.

Bật terminal (Ctrl + Alt + T) và gõ vào Terminal những lệnh sau:

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev

Việc cài đặt sẽ mất một khoảng thời gian từ 5-10 phút tùy vào tốc độ mạng của bạn.
Sau khi cài đặt thành công những thư viện trên, ta cài đặt gói phần mềm Annaconda. 
Annaconda là gói phần mềm hỗ trợ quản lý và lưu trữ những thư viện cho Python (hỗ trợ luôn cài Python nếu máy chưa cài Python) miễn phí. Nếu bình thường, muốn cài đặt thêm gói tiện ích cho Python, ta phải tìm kiếm và xem thông tin của từng gói phần mềm để tương thích với bản Python của máy mình. Với Annaconda, mọi việc trở nên dễ dàng hơn khi bạn chỉ cần nhớ tên gói thư viện, những việc còn lại Annaconda sẽ xử lý.
Annaconda chưa hơn 400 packages cần thiết phục vụ cho xử lý liên quan đến Toán học, kỹ thuật, xử lý dữ liệu, xử lý ảnh, phân tích dữ liệu trên Python. Hơn nữa, Caffe hỗ trợ build với Annaconda, điều này khá tiện lợi và dễ dàng cho những ai mới bắt đầu sử dụng Caffe và Python trên Ubuntu.
Tải phiên bản cho Ubuntu 14.04 tại địa chỉ: https://www.continuum.io/downloads
Bài viết này sử dụng bản Annaconda 64 bits with Python 2.7
Sau khi tải về, cài đặt Annaconda trên Terminal như sau:
Ở trường hợp này file Anaconda2-4.0.0-Linux-x86_64.sh được lưu tại thư mục Downloads nên trước tiên phải trỏ tới thư mục Downloads bằng lệnh sau:

cd /Downloads

Sau đó cài Anaconda bằng lệnh sau:
sudo bash  Anaconda2-4.0.0-Linux-x86_64.sh

Lưu ý: phải gõ đúng tên file Anaconda.

Sau đó nhấn Enter và đọc kỹ điều khoản để cài Anaconda. Việc cài đặt diễn ra khoảng 5 phút.

Lưu ý: Khi cài đặt thành công, Anaconda sẽ hỏi bạn muốn thêm đường dẫn cài Anaconda vào đường dẫn hệ thống không. Lúc này hãy gõ “yes” và nhấn Enter.

Đã hoàn tất quá trình chuẩn bị các gói hỗ trợ cần thiết. Lúc này, ta sẽ sang công đoạn build Caffe.
Trước hết, để build Caffe, ta phải chỉnh sửa thông tin trong file config.
Ở cửa sổ Terminal, trỏ tới thư mục Caffe và thực hiện câu lệnh sau để tạo mới 1 file .config:

sudo cp Makefile.config.example Makefile.config

Tiếp theo mở file Makefile.config mới khỏi tạo này lên bằng trình Text Editor (gedit) và chỉnh sửa các thông tin như sau:
Ở dòng số 8, xóa comment (xóa ký tự #) để sử dụng CPU cho caffe (vì máy mềnh không có GPU NVIDIA nên không thể sử dụng CUDA. Nếu máy tính có card NVIDIA thì xóa comment để sử dụng CUDNN ở dòng USE_CUDNN := 1 )

CPU_ONLY := 1
Tiếp theo, nếu có sử dụng Matlab để code Caffe thì xóa comment tại dòng: 
MATLAB_DIR := /usr/local” và thay “/usr/local” bằng đường dẫn tới Matlab.
Ví dụ:  MATLAB_DIR := /usr/local/MATLAB/R2014b

Tiếp đến, ta chỉnh thông số Anaconda bằng cách bỏ comment và thay thế đường dẫn tới thư mục Anaconda như sau:

ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
                        $(ANACONDA_HOME)/include/python2.7 \
                        $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

Đã xong, Save lại file Makefile.config.

Tiếp theo ta build Caffe bằng cách sau:

Trỏ tới thư mục Caffe trên Terminal và gõ lệnh sau:

make clean
make all

Sau khi chạy xong lệnh make all. Ta gõ tiếp lệnh: make test

Tiếp theo gõ lệnh: make runtest để chạy thử Caffe sau khi build có lỗi hay không.
Nếu sau khi chạy lệnh này không có lỗi nào thì bạn đã thành công 90% khi build Caffe.

Sau khi test thành công, ta chạy lệnh sau để tạo thư viện caffe chạy được trên Python.

make pycaffe

Tiếp theo, thêm đường dẫn pycaffe vào đường dẫn hệ thống bằng câu lệnh sau:

sudo echo export PYTHONPATH=<đường dẫn tới thư mục caffe/python>:$PYTHONPATH >> ~/.bashrc

Ví dụ: sudo echo export PYTHONPATH=~/caffe/python:$PYTHONPATH >> ~/.bashrc

Tương tự như với pycaffe, ta gõ lệnh: make matcaffe để biên dịch thư viện chạy trên Malab như sau:

Để sử dụng caffe cho Matlab, xem bài hướng dẫn tại đây (đang cập nhật sau)

Cuối cùng, ta gõ lệnh : make distribute để kết thúc quá trình cài đặt.

Chúc mừng bạn đã cài đặt thành công thư viên Caffe trên Ubuntu.

Demo với iPython Notebook (Python IDE base web browser)
Để kiểm tra thử xem Caffe có thể dùng được cho Python không. Hãy làm một vài phép thử và biết có lỗi để còn sửa :))

Các bạn mở Terminal và gõ lệnh: jupyter notebook để mở IDE lên.
Nếu bạn là người mới dùng iPython Notebook thì tại cửa sổ web mở ra bạn chọn New -> Python 2 để tạo một project python mới.
Tại đây, bạn gõ lệnh : import caffe rồi nhấn Shift + Enter để import thư viện Caffe vào project Python.
Nếu xuất hiện lỗi sau: ImportErrorNo module named google.protobuf.internal



Lỗi này là do máy tính bạn chưa cài đúng thư viện protobuf của Google (Thư viện cung cấp cơ chế đệm cho việc chạy các phần mềm khác nhanh hơn)

Các bạn mở Terminal mới và gõ lệnh sau để cài protobuf:

conda install -c https://conda.anaconda.org/anaconda protobuf



Lưu ý: Có thể lúc cài protobuf sẽ bị lỗi: 
Error: Missing write permissions ở thư mục cài anaconda2.

Hãy chạy dòng lệnh sau để sửa lỗi:

sudo chown -R <username hiện tại> <đường dẫn tới anaconda>

Ví dụ:  username của Ubuntu hiện tại là huuquan và đường dẫn vào thư mục anaconda là /home/huuquan/anaconda2

Thì chạy như sau:

sudo chown -R huuquan ~/anaconda2

Sau đó chạy lại lệnh trên để cài protobuf cho python.

Chạy lại iPython và import Caffe lần nữa. Có lẽ sẽ hết lỗi :))



Nếu có vấn đề gì, xin vui lòng bình luận ở dưới hoặc liên hệ qua email cho mình :)

0 comments:

Post a Comment