2021-05-12 14:32:11
Caffe使用點滴記錄
一、caffe 建立Python 層
因為caffe底層是用c++編寫的,所以我們有的時候想要新增某一個最新文獻出來的新演算法,正常的方法是直接編寫c++網路層,然而這個有個前提條件是必須對caffe的底層非常熟悉,c++的編寫達到一定的境界,才可靈活應用caffe,搞深度學習,走這條路對於菜鳥來說無疑很有難度。
好在caffe為我們提供了一個可以用python編寫新的網路層的方法,直接用python語言編寫新的網路層,然後在caffe的網路組態檔,稍作修改,就可以輕鬆容易建立新的網路層。其具體環境設定搭建過程如下:
1、編譯caffe的時候,不能直接使用make pycaffe,而是應該使用:
WITH_PYTHON_LAYER=1 make && make pycaffe2、編寫相關的網路層檔案python原始碼filename.py,同時需要在filename.py 編寫的時候,import caffe的時候,需要指向caffe所在的路徑目錄
3、把python原始碼檔案filename.py拷貝到caffe/python目錄下:
caffe/python/filename.py4、新增路徑變數:
sudo vim ~/.bashrc
在最後輸入
export PYTHONPATH=/home/hjimce/tools/caffenewversion/python:$PYTHONPATH
重新啟動電腦.
5、呼叫的時候,參照層:
layer {
type: 'Python'
name: 'loss'
top: 'loss'
bottom: 'f2'
bottom: 'label'
python_param {
# the module name -- usually the filename -- that needs to be in $PYTHONPATH
module: 'filename'
# the layer name -- the class name in the module
layer: 'NormlizedMSE'
}
# set loss weight so Caffe knows this is a loss layer.
# since PythonLayer inherits directly from Layer, this isn't automatically
# known to Caffe
loss_weight: 1
}
二、caffe關閉紀錄檔輸出訊息
可能對於演算法實驗階段來說,我們需要caffe執行網路的時候,列印網路的相關引數訊息。然而對於已經走向工程之路的caffe模型來說,我們有可能需要遮蔽那些沒用的輸出訊息,因此這個時候就需要用到caffe的訊息遮蔽。
1、在程式最開始執行地方,加入如下程式碼:
::google::InitGoogleLogging("hjimce"); //初始化
FLAGS_stderrthreshold = ::google::ERROR; //只列印ERROR級別資訊
2、在程式結束的時候加入程式碼:
google::ShutdownGoogleLogging();
Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝 http://www.linuxidc.com/Linux/2016-07/132860.htm
Ubuntu 16.04系統下CUDA7.5設定Caffe教學 http://www.linuxidc.com/Linux/2016-07/132859.htm
Caffe在Ubuntu 14.04 64bit 下的安裝 http://www.linuxidc.com/Linux/2015-07/120449.htm
深度學習框架Caffe在Ubuntu下編譯安裝 http://www.linuxidc.com/Linux/2016-07/133225.htm
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 設定說明 http://www.linuxidc.com/Linux/2015-04/116444.htm
Ubuntu 16.04上安裝Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm
Caffe設定簡明教學 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-09/135529.htm
相關文章