• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 深度學習--【1】Ubuntu下caffe環境搭建,CPU

    在Windows下安裝caffe遇到好多奇奇怪怪的問題,于是轉戰Ubuntu,比windows下要簡單很多。

    本篇博文主要講解快速搭建caffe環境:

    電腦系統:ubuntu 16.04

    1、安裝caffe所需要的依賴庫

    Caffe的所有依賴包都可以使用apt-get大發搞定。

    #在Ubuntu下如果沒有使用root賬號,則每個命令前需要加sudo。

    $ sudo apt-get install git
    $ 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 libatlas-base-dev
    $ sudo apt-get install python-dev
    $ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev


    2、下載caffe源碼

    我的caffe源碼下載到home目錄下

    $ cd ~
    $ sudo git clone https://github.com/bvlc/caffe.git
    $ cd caffe

    下載完成后可以看到caffe的源碼包如下:


    3、配置Make.config文件

    caffe文件解壓后,文件夾下面有一個Makefile.config.example文件,我們需要將這個文件復制一份并重命名:Make.config  。

    $ sudo cp Makefile.config.example Makefile.config

    然后我們打開這個文件,可以看到如下內容:


    然后我們把:#CPU_ONLY:=1,那一行的注釋符號去掉:CPU_ONLY:=1。這是因為我們沒有安裝CUDA,還不能使用gpu,所以我們把配置改為只使用cpu。

    4、編譯

    方案一:

    (1)在完成Make.config配置后,我們輸入命令:

        $  make -j 

         進行caffe源碼編譯.這一步有可能遇到如下錯誤:

    • 錯誤1     caffe/proto/caffe.pb.h: No such file or directory

          如果出現這個錯誤,那么輸入命令:

    1. sudo protoc src/caffe/proto/caffe.proto --cpp_out=.  
    2. sudo mkdir include/caffe/proto  
    3. sudo mv src/caffe/proto/caffe.pb.h include/caffe/proto  

          然后在進行make -j就可以了

    • 錯誤2     hdf5.h: No such file or directory

            ① 在Makefile.config的95行添加/usr/include/hdf5/serial/ 到INCLUDE_DIRS也就是把下面第一行代碼改為第二行代碼

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
    • 1
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
    • 1

             ② 在Makefile文件的第173行,把 hdf5_hl 和hdf5修改為hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代碼改為第二行代碼。

    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
    • 1
    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

     然后在進行make -j就可以了

    (2)編譯成功后編譯python接口,輸入命令

    [python] view plain copy
    1. make pycaffe
    這個如果不使用python接口,調用caffe模型的話也可以不用安裝,不過建議還是搞一下,就一句話的事。完事后,我們會發現caffe源碼目錄下,多了一個build文件,這個文件下面有個tools,打開這個文件夾:


    這個文件夾下面的工具可是個好東西啊,以后我們會經常用到這些可執行文件,最常用的就是可執行文件:caffe,我們只要調用這個工具,就可以進行訓練。

    • 錯誤1     numpy/arrayobject.h No such file or directory

          如果出現這個錯誤,那么輸入命令:

          sudo apt-get install python-numpy


    方案二:直接采用cmake:

    1. mkdir build  
    2. cd build  
    3. cmake ..  
    4. make all -j8  
    5、訓練

    安裝完了,自然要測試一下能不能用咯。首先cd到caffe目錄,然后輸入命令:

    [python] view plain copy
    1. ./data/mnist/get_mnist.sh  
    2. ./examples/mnist/create_mnist.sh  
    3. sudo vim examples/mnist/lenet_solver.prototxt  

    把lenet_solver.prototxt里面的solver_mode 改為 CPU。因為我們還沒裝GPU,暫時只使用CPU就好了。

    ./data/mnist/get_mnist.sh下載MNIST數據集,下載完成后,在data/mnist下會出現四個文件:

    t10k-images-idx3-ubyte   測試圖片數據

    t10k-labels-idx1-ubyte   測試標簽

    train-images-idx3-ubyte  訓練圖片數據

    train-labels-idx1-ubyte  訓練標簽

    因為下載完的數據為二進制文件,需要轉換為LEVELDB或LMDB才能被caffe識別,因此執行./examples/mnist/create_mnist.sh 生成

    可以通過修改create_mnist.sh中的BACKEND="lmdb"或者BACKEND="leveldb"來選擇生成數據格式。

    執行完create_mnist.sh以后,在examples/mnist下生成兩個文件夾mnist_train_lmdb和mnist_test_lmdb兩個目錄,每個目錄下都有兩個文件data.mdb和lock.mdb,顧名思義,mnist_train_lmdb就是生成的LMDB格式的MNIST數據集,mnist_test_lmdb則為LMDB格式的測試集。


    然后我們運行腳本:

    [python] view plain copy
    1. ./examples/mnist/train_lenet.sh  
    這個時候,如果成功的話,就會開始跑起來

    訓練完成以后,會在mnist文件夾下生成lenet_iter_10000.caffemodel

    7、測試

    利用訓練好的模型權值文件(examples/mnist/lenet_iter_10000.caffemodel)可以對測試數據集(或外部測試集)進行預測,運行如下命令:

    $ ./build/tools/caffe test \

       -model examples/mnist/lenet_train_test.prototxt \

       -weights examples/mnist/lenet_iter_10000.caffemodel \

      -iterations 100

     命令行解釋:

    • ./build/tools/caffe test, 表示只做預測(前向傳播計算),不進行參數更新(后向傳播計算)
    • -model examples/mnist/lenet_train_test.prototxt, 指定模型描述文件文件
    •  -weights examples/mnist/lenet_iter_10000.caffemodel, 指定模型預先訓練好的權值文件。
    • -iterations 100,指定測試迭代次數。參與測試的樣例數目為(iterations * batch_size),batch_size在model prototxt中設定,為100時正好覆蓋全部10000個測試樣本。
    命令運行結束后,可以得到測試結果,accuracy為99.04%


    版權聲明:本文為liucuicui0000原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/liucuicui0000/article/details/79102533

    智能推薦

    Ubuntu16+Anaconda3+tensorflow(cpu),深度學習環境搭建

    摘要: 引言 Anaconda3安裝 tensorflow(cpu)安裝 spyder安裝 1.引言 最近需要研究基于深度學習的語義分割,了解到語義分割有二維與三維的領域。還是先了解一下二維語義分割方面的,選定了deeplab和mobileNet。所以先搭建一下簡單的深度學習環境,算是新手入門。 WINDOWS10+ubuntu16.04雙系統 NVIDIA 940m顯卡,2GB獨立顯存 用下面命...

    深度學習框架Caffe在Ubuntu下編譯安裝

      國內相關教程都互相借鑒大同小異,于是連出錯的方式也雷同,所以借鑒了國外多個技術論壇,寫一篇配置教程。 環境: 操作系統: Ubuntu 16.04 GCC/G++:5.4.0 CUDA:9.0.252 OpenCV: 2.4.11和3.3.1 Matlab :R2014b(a) Python: 2.7 1.在安裝的路徑下 clone : 2.進入 caffe ,Makefile.config....

    linux(ubuntu)下安裝深度學習框架caffe

    953 首先在Linux下安裝OpenCV 3.0  安裝過程: 1. 安裝依賴項 查看是否安裝成功: 2. 安裝OpenCV 3 這里使用opencv3.0.0-beta版本,最好使用一樣的,否則可能要折騰很久。這里直接網上搜索下載即可,下載后傳到linux中,如果要在linux上下載可能會很慢。 下載完成后解壓 注意了:這一步開始編譯opencv,這里會出現要下載ippicv_lin...

    Ubuntu 16.04下配置深度學習庫caffe

    博主是在T_H學長的幫助下完成安裝的,考慮到很多人應該需要一個比較詳細的安裝過程,特意寫下此教程,以及博主在安裝過程中遇到的問題及solution。 T_H學長的安裝過程鏈接,大家可以結合參考 ** 1. 安裝Nvidia顯卡驅動 ** 在系統設置->軟件和更新->附加驅動中:將NVIDIA Corporation里的選項選為第一項。完成后需要重啟。 ** 2. 安裝CUDA 8.0 ...

    linux(ubuntu)下安裝深度學習框架caffe

    本文所使用的的ubuntu的環境為16.04,為了安裝的順利,請先安裝opencv,詳見:Linux下安裝OpenCV 3.0 1. 安裝依賴項 建議不要一次安裝這么多,以免出錯可以排除錯誤: 1 2 3 4 5 6 7 1 2 3 4 5 6 7 2. 下載caffe源碼 1 2 3 4 1 2 3 4 3. 配置Makefile文件 修改默認的配置。打開文件:sudo gedit Makefi...

    猜你喜歡

    caffe學習筆記:windows環境下caffe-window安裝(CPU版)

    配置:win7_64bit+VS2013 準備工作:下載微軟官方提供的caffe安裝包,下載地址:https://github.com/Microsoft/caffe,下載完畢解壓到目標文件夾即可,筆者放置在E盤根目錄中。 一、修改配置文件 打開E:\caffe-master\caffe-master\windows,找到CommonSettings.props.example文件復制(原文件作為...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    精品国产乱码久久久久久蜜桃不卡