Caffe 源碼閱讀 caffe.cpp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Caffe 源碼閱讀 caffe.cpp相关的知识,希望对你有一定的参考价值。

從main函數說起:

1、gflags庫中爲main函數設置usage信息 是google的一個開源的處理命令行的參數的庫。在使用命令行參數的文件夾文件中(源文件或頭文件),首先使用以下定義語句進行變量的定義。 DEFINE_int32, DEFINE_int64, DEFINE_bool等, 語法爲:DEFINE_int32(name,default_value,"description")。接着你就可以使用FLAGS_name變量了,這些變量的值則是由命令行參數傳遞,無則爲默認值,在其他代碼文件中若想使用該命令參數,可以用DECLARE_int32(name)聲明(name爲int32類型,也可以使用其它支持類型)

2、main函數中,出現了GetBrewFunction函數,在標準指令下,main函數將執行GetBrewFunction函數。

在caffe.cpp中定義了一些BrewFunction類的函數,通过RegisterBrewFunction(function)注册进容器g_brew_map:

int device_query(): 用来查询GPU信息

int train(): 训练神经网络

int time(): 测试model执行时间

GetBrewFunction函数通过caffe命令后第一个参数在g_brew_map容器中查找对应函数指针并返回。

以上是关于Caffe 源碼閱讀 caffe.cpp的主要内容,如果未能解决你的问题,请参考以下文章

Caffe 源碼閱讀 Blob.hpp

Caffe 源碼閱讀 SyncedMemory.hpp

(转载)閱讀他人的程式碼閱讀的樂趣:透過程式碼認識作者

eclipse源碼無法查看

centos安裝源碼包nginx報錯

Tensorflow從源碼編譯