1. 程式人生 > >純淨妙算 安裝caffe教程

純淨妙算 安裝caffe教程

https://www.jianshu.com/p/ca387d0a4bb0 參考上面簡書的這個網頁 按著他一步一步來 參考上面簡書的這個網頁 按著他一步一步來 參考上面簡書的這個網頁 按著他一步一步來 重要事情說三遍

1.一些預備工作

a.安裝vnc sudo apt-get install x11vnc 安裝完輸入 x11vnc -usepw 然後會設定密碼 ubuntu啦,懶得混淆 然後就可以在window開啟vnc了

b. 檢視Jetson TK1 L4T版本 head -n 1 /etc/nv_tegra_release

c. 檢視系統位數(32/64),當然是32位的了 getconf LONG_BIT

d. 修改密碼(ubuntu太長了) sudo passwd ubuntu(root或對應的使用者名稱)

e. 按照上一篇教程,更新軟體源(先備份官方的源)

f. 安裝git 有時候直接克隆原始碼不用再下zip這麼麻煩 1 sudo apt-get update 2 sudo apt-get install git

2. 安裝CUDA 6.01(包在環境配置檔案裡面有)

在這裡插入圖片描述 在這裡插入圖片描述

包已經下好,照做就好

檢視CUDA安裝版本 nvcc -V “Cuda compilation tools, release 6.0, V6.0.1”

3.安裝cuDNN v2

(妙算是32位系統,沒有lib64這一項,把命令裡面的lib64的64去掉即可) (妙算是32位系統,沒有lib64這一項,把命令裡面的lib64的64去掉即可) (妙算是32位系統,沒有lib64這一項,把命令裡面的lib64的64去掉即可) 在這裡插入圖片描述

在這裡插入圖片描述 CUDA那時候不知道為啥就裝了6.0.1,腦殘又下了cuDNN的R1版本,編譯有問題,後來看到連線說要cuDNN的V2版本,試了一下cp了兩條指令把R1的庫檔案目錄覆蓋了之後,make沒問題了,runtest至今還是不太行。

cuDNN(其實就是把cuDNN的標頭檔案和原始檔加入到CUDA的目錄中,這個solitairetheme8結尾的檔案,百度說cp一下直接變成壓縮檔案再解壓就好,nvidia的檔案就是nb,雖然是需要6.5的cuda但是編譯能通過,不管,要是下次,一定裝cuda的6.5版本)

tar -xzvf cudnn-6.5-linux-R1.tgz
cd cudnn-6.5-linux-R1
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/

在這裡插入圖片描述

以上談到的許可權問題我沒有遇到,直接執行cp的兩行命令就把檔案複製過去了

4.安裝tk1的opencv 優化包

在這裡插入圖片描述 最爽就是這兩個包 sudo dpkg -i libopencv4tegra_2.4.8.2_armhf.deb sudo dpkg -i libopencv4tegra-dev_2.4.8.2_armhf.deb 搞定!

5.最重要的一步,前期的相關環境已經配好,最後caffe編譯的重頭戲來了。

caffe-caffe-0.12與cuDNN V2的版本對應問題(考慮到更新速度較快,tk1的硬體過於老,所以決定用最老的版本,也不能太老就選了caffe-caffe-0.12)

在這裡插入圖片描述 a.這個包 在這裡插入圖片描述 在這裡插入圖片描述 解壓之後,進入目錄,把Makefile.config.example 複製成 Makefile.config ,加入那一行資訊。

b. 引數-j 4 的意思是用四核,火力全開,我最喜歡這種騷事情了。 make clean //每一次make失敗之後重新make都需要該命令進行清除 make -j 4 all make -j 4 runtest

Mnist Example:編譯前請注意:,編譯前請注意,編譯前請注意:

1.參考https://github.com/BVLC/caffe/issues/1298 在creat_mnist.sh執行的時候又遇到了新的問題F0413 15:08:19.918817 9137 convert_mnist_data.cpp:132] Check failed: mdb_put(mdb_txn, mdb_dbi, &mdb_key, &mdb_data, 0) == 0 (-30792 vs. 0) mdb_put failed, 該問題和上面MDB_MAP_FULL的問題一樣超出了邊界。什麼原因,就tm的是32位系統,硬體就是坑,所以解決方法: 在這裡插入圖片描述 哪裡報錯就把哪裡的一串數字改了,這沒完。還要,把回到根目錄,把整個整個整個caffe (make clean make clean make clean)重新編譯整個編譯! 一鍋老鼠屎,搞衰一鍋粥! 2.編譯工程要在根目錄下編譯就是caffe的目錄下編譯,不能進了example/mnist 不能進了example/mnist不能進了example/mnist

剩下就要靠自己造化了 剩下就要靠自己造化了 剩下就要靠自己造化了 剩下就要靠自己造化了 剩下就要靠自己造化了

Result: 訓練日誌: 在這裡插入圖片描述