caffe2第一個程序(1)

????本文主要是對caffe2官方文檔中Intro Tutorial的梳理,并不是逐字翻譯,簡書已經(jīng)有對這份文檔的翻譯,(一定要主讀原文!翻譯配合閱讀?。┑枪俜轿臋n是在不斷更新的,本人覺得這份新的文檔首先用model_helper來創(chuàng)建網(wǎng)絡(luò)對新手理解caffe2構(gòu)建網(wǎng)絡(luò)的形式更加友好,因此就打算梳理下這份內(nèi)容,原文:Intro Tutorial

? ? 文章首先大致介紹了blobs和workspace,blobs一般包含一個tensor(一個多維數(shù)組),且在python中會被轉(zhuǎn)化為numpy數(shù)組。然后介紹了blobs在workspace中存儲、讀取數(shù)據(jù)的方式。

? ? 文中試圖創(chuàng)建一個簡單的網(wǎng)絡(luò):

? ? (1)一個全連層

? ? (2)一個sigmoid和softmax

? ? (3)CrossEntropy loss

使用ModelHelper創(chuàng)建網(wǎng)絡(luò)會生成兩個網(wǎng)絡(luò):一個用來初始化的網(wǎng)絡(luò)和一個用來訓(xùn)練的網(wǎng)絡(luò)。下面我們來看看文中是如何體現(xiàn)出這兩個網(wǎng)絡(luò)的:

1. 定義權(quán)重和偏置時的初始化方式時,使用的是ModelHelper生成的第一個網(wǎng)絡(luò)param_init_net,其中權(quán)重調(diào)用的是XavierFill op,偏置調(diào)用的是ConstantFill op。

2. 設(shè)置訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)時,使用的是ModelHelper生成的第二個網(wǎng)絡(luò)net,注意同上一段類似,此處只是網(wǎng)絡(luò)的定義,并不實(shí)際運(yùn)行網(wǎng)絡(luò)。

我們分別畫出這兩個網(wǎng)絡(luò)的結(jié)構(gòu)圖(畫圖方式

初始化網(wǎng)絡(luò):


前向網(wǎng)絡(luò):


分別對比初始化網(wǎng)絡(luò)和前向網(wǎng)絡(luò)的構(gòu)造方式及其網(wǎng)絡(luò)圖,就比較容易理解如何去構(gòu)造一個網(wǎng)絡(luò)。初始化網(wǎng)絡(luò)的構(gòu)造和前向網(wǎng)絡(luò)的構(gòu)造是分開的,后期運(yùn)行時,首先通過運(yùn)行初始化網(wǎng)絡(luò)將數(shù)據(jù)保存至workspace,前向網(wǎng)絡(luò)通過讀取workspace中的數(shù)據(jù)進(jìn)行計(jì)算。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容