enum devicetype ; //框架支援的裝置型別及其對應id.
enum macestatus ; // 函式的返回型別
macetensor
:定義了mace
輸入輸出tensor
,有幾個不同形式的建構函式
maceengine
:作為mace
框架引擎,根據建構函式傳入的devicetype
執行相應的功能**
作為深入原始碼的第一步,下面我們一起看一下這個檔案。
class
macetensor::impl ;
macetensor::macetensor(const
std::vector
&shape,
std::shared_ptr
data)
const
std::vector
&macetensor::shape() const
const
std::shared_ptr
macetensor::data() const
std::shared_ptr
macetensor::data()
class
maceengine::impl ;
impl
函式是建構函式,完成一些變數的初始化工作。與tensor
相關的一些操作會在workspace
下,因而此處建立了乙個workspace
物件。
init函式
init
函式完成maceengine
的初始化工作。包括根據網路定義建立輸入輸出的儲存map
,根據輸入輸出節點和devicetype
建立tensor
,初始化整個網路模型。init
還有乙個過載函式,區別只是const unsigned char *model_data
和const std::string &model_data_file
這兩個引數。後者通過loadmodeldata
載入模型資料後呼叫前者完成初始化。
run函式
run
函式根據輸入輸出檔案資訊,初始化的模型資訊和模型資料,以及device_type_
型別呼叫相應的執行**。完成模型的前向運算。輸出運算結果並儲存。
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...
原始碼閱讀 Glide原始碼閱讀之with方法(一)
前言 本篇基於4.8.0版本 原始碼閱讀 glide原始碼閱讀之with方法 一 原始碼閱讀 glide原始碼閱讀之load方法 二 原始碼閱讀 glide原始碼閱讀之into方法 三 大多數情況下,我們使用glide 就一句 但是這一句 裡面蘊含著成噸的 with方法有以下幾個過載方法 publi...
php微框架 flight原始碼閱讀
flight 是乙個可擴充套件的php微框架,快速 簡單,能夠快速輕鬆地構建restful web應用程式,在github上有2k stars。框架 十分精簡,在幾分鐘內你就可以看完整個框架原始碼,使用起來也是很簡單優雅。正如它自己所介紹的 require flight flight.php fli...