手把手教你搭建caffe及手寫數字識別(Ubuntu下且附mac、純通俗教程)
手把手教你搭建caffe及手寫數字識別
作者:七月線上課程助教團隊,驍哲、小蔡、李偉、July
時間:二零一六年十一月九日
交流:深度學習實戰交流Q群 472899334,有問題可以加此群共同交流。另探究實驗背後原理,請參看此課程:深度學習線上班。
一、前言
在前面的教程中,我們搭建了tensorflow、torch,教程釋出後,大家的問題少了非常多。但另一大框架caffe的問題則也不少,加之caffe也是深度學習線上班要講的三大框架之一,因此,我們再把caffe的搭建完整走一遍,手把手且全程命令提示。本教程參考github:https://github.com/BVLC/caffe、及《21天實戰caffe》P28頁Ubuntu環境準備。
另,筆者的安裝環境是Ubuntu14.04、CUDA8.0、cudnn5.1、OpenCV、GTX1070。關於這些的搭建可以參看“flappy bird“”及“Tensorflow學梵高作畫”裡面的安裝教程。
二、 安裝依賴項
更新源
sudo apt-get update
參考官網頁面地址:http://caffe.berkeleyvision.org/install_apt.html
安裝命令:
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
特別提示:ubuntu命令列裡按住ctrl+shift+c是複製,ctrl+shift+v是貼上
三、 相關安裝
安裝git命令:
sudo apt-get install git
安裝BLAS命令:
sudo apt-get install libatlas-base-dev
安裝pycaffe介面所需的依賴項:
sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags cython ipython
安裝其他依賴專案:
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
四、 Caffe相關操作
下載caffe:
sudo git clone https://github.com/BVLC/caffe.git
進入caffe:
cd caffe
配置Makefile.config檔案:
sudo cp Makefile.config.example Makefile.config
修改Makefile.config:
sudo vi Makefile.config
筆者這裡使用cudnn,所以將第四行
# USE_CUDNN := 1 前面的#刪掉變為
USE_CUDNN := 1
示意圖:
編譯caffe:
依次執行如下命令
sudo make all -j16
sudo make test -j16
sudo make runtest -j16
五、 編譯Python用到的caffe檔案
編譯caffe:
執行如下命令
make pycaffe -j16
六、 驗證
cd python
python
import caffe
不報錯就表明安裝成功了!
七、基於caffe的手寫數字識別
官方github地址:
https://github.com/BVLC/caffe
cd /caffe/caffe
1.下載資料
./data/mnist/get_mnist.sh
2.轉化為lmdb格式
./examples/mnist/create_mnist.sh
3.訓練資料
./examples/mnist/train_lenet.sh
相關文章
- 手把手教你使用LabVIEW OpenCV DNN實現手寫數字識別(含原始碼)ViewOpenCVDNN原始碼
- 【機器學習】手寫數字識別機器學習
- 機器學習之神經網路識別手寫數字(純python實現)機器學習神經網路Python
- 實戰四:手把手教你實現數字識別
- Pytorch搭建MyNet實現MNIST手寫數字識別PyTorch
- tensorflow.js 手寫數字識別JS
- 瀏覽器中的手寫數字識別瀏覽器
- 【Get】用深度學習識別手寫數字深度學習
- 使用神經網路識別手寫數字神經網路
- Spark學習筆記——手寫數字識別Spark筆記
- 程式碼實現(機器學習識別手寫數字)機器學習
- Tensorflow2.0-mnist手寫數字識別示例
- Tensorflow實現RNN(LSTM)手寫數字識別RNN
- 機器學習:scikit-learn實現手寫數字識別機器學習
- OpenCV + sklearnSVM 實現手寫數字分割和識別OpenCV
- 手把手教你實現人臉識別,有手就行
- 手寫數字圖片識別-全連線網路
- 計算機視覺—CNN識別手寫數字(11)計算機視覺CNN
- 計算機視覺—kNN識別手寫數字(10)計算機視覺KNN
- 手把手教你做線性迴歸分析,實用且通俗易懂!
- 用tensorflow2實現mnist手寫數字識別
- 手寫數字圖片識別-卷積神經網路卷積神經網路
- 《手寫數字識別》神經網路 學習筆記神經網路筆記
- KNN 演算法-實戰篇-如何識別手寫數字KNN演算法
- 深度學習實驗:Softmax實現手寫數字識別深度學習
- 手把手教你搭建OpenDRIVE道路模型(下)模型
- CNN實現手寫數字識別並改變引數進行分析CNN
- 在PaddlePaddle上實現MNIST手寫體數字識別
- 手把手教你怎樣用Python生成漂亮且精闢的影像(附教程程式碼)Python
- 手把手教你搭建OpenScenario交通場景(下)
- 【百度飛槳】手寫數字識別模型部署Paddle Inference模型
- 使用人工神經網路訓練手寫數字識別模型神經網路模型
- 深度學習例項之基於mnist的手寫數字識別深度學習
- 手把手教你用一個簡單的2DCNN完成MNIST數字識別任務!CNN
- 恩墨大資料系列免費課之《影像識別揭秘-Python手寫數字識別》大資料Python
- 手把手教你搭建Raneto知識庫框架(一)框架
- PS教程:手把手教你將照片做成手繪作品
- 手把手教你寫VueRouterVue