????本文主要是對caffe2官方文檔中Intro Tutorial的梳理,并不是逐字翻譯,簡書已經(jīng)有對這份文檔的翻譯,(一定要主讀原文铐姚!翻譯配合閱讀!)但是官方文檔是在不斷更新的肛捍,本人覺得這份新的文檔首先用model_helper來創(chuàng)建網(wǎng)絡(luò)對新手理解caffe2構(gòu)建網(wǎng)絡(luò)的形式更加友好谦屑,因此就打算梳理下這份內(nèi)容,原文:Intro Tutorial
? ? 文章首先大致介紹了blobs和workspace篇梭,blobs一般包含一個(gè)tensor(一個(gè)多維數(shù)組),且在python中會被轉(zhuǎn)化為numpy數(shù)組酝枢。然后介紹了blobs在workspace中存儲恬偷、讀取數(shù)據(jù)的方式。
? ? 文中試圖創(chuàng)建一個(gè)簡單的網(wǎng)絡(luò):
? ? (1)一個(gè)全連層
? ? (2)一個(gè)sigmoid和softmax
? ? (3)CrossEntropy loss
使用ModelHelper創(chuàng)建網(wǎng)絡(luò)會生成兩個(gè)網(wǎng)絡(luò):一個(gè)用來初始化的網(wǎng)絡(luò)和一個(gè)用來訓(xùn)練的網(wǎng)絡(luò)帘睦。下面我們來看看文中是如何體現(xiàn)出這兩個(gè)網(wǎng)絡(luò)的:
1. 定義權(quán)重和偏置時(shí)的初始化方式時(shí)袍患,使用的是ModelHelper生成的第一個(gè)網(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)時(shí)诡延,使用的是ModelHelper生成的第二個(gè)網(wǎng)絡(luò)net,注意同上一段類似古胆,此處只是網(wǎng)絡(luò)的定義肆良,并不實(shí)際運(yùn)行網(wǎng)絡(luò)。
我們分別畫出這兩個(gè)網(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)造一個(gè)網(wǎng)絡(luò)惹恃。初始化網(wǎng)絡(luò)的構(gòu)造和前向網(wǎng)絡(luò)的構(gòu)造是分開的,后期運(yùn)行時(shí)棺牧,首先通過運(yùn)行初始化網(wǎng)絡(luò)將數(shù)據(jù)保存至workspace巫糙,前向網(wǎng)絡(luò)通過讀取workspace中的數(shù)據(jù)進(jìn)行計(jì)算。