歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Caffe使用點滴記錄

Caffe使用點滴記錄

日期:2017/2/28 13:48:30   编辑:Linux教程

一、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

Copyright © Linux教程網 All Rights Reserved