1. 程式人生 > >[caffe筆記002]:Caffe原始碼c++除錯

[caffe筆記002]:Caffe原始碼c++除錯

  1. c++除錯caffe
    1.1 重新編譯
    1.2 在eclipse中構建工程

    1. 入口函式
    2. train / Finetune a model程式碼解讀
    3. 用solver->Solve()函式
    4. blob類
    5. layer類
    6. net類
      7.1 NetState
      7.2 NetParameter
    7. caffemodel中存了些什麼

    8. c++除錯caffe

除錯c++原始碼可以採用eclipse。

1.1 重新編譯

更改Makefile.config中的

DEBUG := 1
重新編譯caffe。

1.2 在eclipse中構建工程

* 設定workspace*
將eclipse的workspace設定為caffe所在目錄的上級目錄。比如caffe-master在資料夾\Documents下,則將workspace設定為\Documents。

* 建立工程*

File → New → Project → C/C++ → Makefile Project with Existin Code
這裡寫圖片描述
Browse到caffe-master,會自動獲取工程名。
選擇Linux GCC作為編譯器。下一步即可。
這裡寫圖片描述
* 編輯編譯選項*

在建立好的工程目錄的工程名上右鍵進入屬性設定。
點選Run/Debug Setting,第一次時需要新建,以後只需要編輯即可,圖中點選編輯。
這裡寫圖片描述
進入編輯介面(新建介面和編輯介面一樣)
在Main選項卡設定caffe應用程式,指向$CAFFE-PATH/build/tools/caffe
這裡寫圖片描述
在Arguments設定主函式除錯引數train -solver=examples/hed/solvers.prototxt。
這個例子中是要用caffe進行訓練,訓練的solver路徑是$CAFFE-PATH/examples/hed/solvers.prototxt
這裡寫圖片描述


至此就可以進行caffe的除錯了。
但要注意的是:
一般在定義網路結構的proto和solver的proto的時候都採用的相對路徑,在進行除錯的時候相對路徑會發生變化,因此在除錯時可以直接採用絕對路徑。

  1. 入口函式

除錯caffe的入口main函式位於
$CAFFE-PATH/tools/caffe.cpp

相關推薦

[caffe筆記002]Caffe原始碼c++除錯

c++除錯caffe 1.1 重新編譯 1.2 在eclipse中構建工程 入口函式 train / Finetune a model程式碼解讀 用solver->Solve()函式 blob類 layer類 net類 7.1 NetState

[caffe筆記001]caffe依賴庫安裝(非root)

[========] 1. caffe介紹 caffe是一個訓練卷積神經網路的工具,其能夠非常好的支援CNN,最新版本整合了RNN。caffe提供python和matlab的藉口,能夠簡單有效地進行程式設計和使用。 2. caffe安裝 2.

[caffe筆記008]使用matlab除錯caffe中新加的層

寫在前面: caffe的底層是c++實現的,所以當自己新增層時自然可以用除錯c++的方法進行除錯。一方面除錯c++需要偵錯程式,另一方面c++除錯的時候觀測矩陣或者向量的資料不是很方便。由於caffe有比較好的matlab介面,採用matlab進行輔助

[caffe筆記005]通過程式碼理解faster-RCNN中的RPN

https://blog.csdn.net/happyflyy/article/details/54917514 [caffe筆記005]:通過程式碼理解faster-RCNN中的RPN 注意:整個RPN完全是筆者自己的理解,可能會有一些理解錯誤的地方。 1. RPN簡介 RPN是reg

Caffe安裝筆記Caffe安裝過程

下面開始正題,caffe的安裝過程。因為出問題很多,所以實際上我是嘗試了python2和python3兩種python的介面。下面一併放出來。 1. 安裝build-essential sudo apt-get install build-essential這個是一些基本的

[caffe筆記009]編譯caffe官方github的windows版

注意:caffe官方GitHub的caffe-window分支的編譯 現在caffe的官方GitHub提供windows版本,因其由官方更新,更新相對及時而且可信賴度高。除了官方的window版,還可以使用Microsoft GitHub上的windows版c

C++筆記002VS2010報錯LINK fatal error LNK1123 轉換到 COFF 期間失敗檔案無效或損壞

原創筆記,轉載請註明出處!點選【關注】,關注也是一種美德~LINK : fatal error LNK1123: 轉換到 COFF期間失敗: 檔案無效或損壞錯誤描述:1>------ 已啟動生成:

Tolua使用筆記lua與C#的函式,變數互動方法

接著上一回的接著講: 案例三: 到這裡久終於到了大家最感興趣的地方了,熱更新的價值就在於用指令碼語言寫邏輯,這樣可以實現邏輯的頻繁改動而不用每次更新都重新下載。 而這個過程中必然涉及到C#對lua的一個邏輯呼叫,而這個例子實現的就是C#的函式的呼叫 核心程式碼如下:

caffe實戰記caffe中python的介面函式

Caffe提供了python的介面(pycaffe),詳見caffe/python資料夾。在python程式碼中import caffe,可以load models(匯入模型),forward an

Elam的caffe筆記之配置篇(六)Centos6.5下編譯caffecaffe的python3.6介面

Elam的caffe筆記之配置篇(六):Centos6.5下編譯caffe及caffe的python3.6介面 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 綜合來說,caf

Elam的caffe筆記之配置篇(五)Centos6.5配置opencv3.1.0

Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 1.下載opencv-3.1.0.t

Elam的caffe筆記之配置篇(四)Centos6.5下配置anaconda3

Elam的caffe筆記之配置篇(四):Centos6.5下配置anaconda3 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 放棄了相容性最好的2.7版本,準備配置

Elam的caffe筆記之配置篇(三)Centos 6.5下裝CUDA8.0 和cudnnv5.1

Elam的caffe筆記之配置篇(三):Centos 6.5下裝CUDA8.0 和cudnnv5.1 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 寫在前面,本文是在C

Elam的caffe筆記之配置篇(二)CentOS6.5編譯安裝NVIDIA驅動

Elam的caffe筆記之配置篇(二):CentOS6.5編譯安裝NVIDIA驅動 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 編譯安裝過程 顯示卡型號:NVS

Elam的caffe筆記之配置篇(一)CentOS6.5編譯安裝gcc4.8.2

Elam的caffe筆記之配置篇(一):CentOS6.5編譯安裝gcc4.8.2 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 任何對linux處於入門級別的小白都應

Elam的caffe筆記之配置篇基於CentOS6.5 python3.6 CUDA8.0 cudnnv5.1 opencv3.1 下的caffe配置

Elam的caffe筆記之配置篇:基於CentOS6.5 python3.6 CUDA8.0 cudnnv5.1 opencv3.1 下的caffe配置 作為一個完完全全的linux小白,平時連cmd開啟資料夾都要百度的人,面對單獨配置caffe這個棘手任務,第一反應就是搜教程。

LDA主題模型學習筆記5C原始碼理解

1,說明 本文對LDA原始論文的作者所提供的C程式碼中LDA的主要邏輯部分做註釋,原始碼可在這裡下載到:https://github.com/Blei-Lab/lda-c 這份程式碼實現論文《Latent Dirichlet Allocation》中介紹的LDA模型,用變分

Caffe學習筆記1linux下建立自己的資料庫訓練和測試caffe中已有網路

本文是基於薛開宇 《學習筆記3:基於自己的資料訓練和測試“caffeNet”》基礎上,從頭到尾把實驗跑了一遍~對該文中不清楚的地方做了更正和說明。 主要工作如下: 1、下載圖片建立資料庫 2、將圖片轉化為256*256的lmdb格式 3、計算影象均值 4、定義網路修改部分引

Caffe學習筆記(七)使用訓練好的model做預測(mnist)

一、前言     在之前的筆記中,已經生成了訓練好的mnist.cafffemodel,接下來我們就可以利用這個model做預測了。在這之前,我們還需要一個檔案:deploy.prototxt。那麼,就讓我們從deploy.prototxt開始說起。 二

Caffe原始碼解讀(九)Caffe視覺化工具

從網路結構視覺化、caffemodel的視覺化、特徵圖視覺化、視覺化loss和accurary曲線等四個方面講視覺化 網路結構視覺化 有兩種辦法:draw_net.py工具和線上視覺化工具,推薦後者,靈活簡便。 1、使用draw_net.py工具