Caffe的全稱是Convolutional Architecture for Fast Feature Embedding(譯為:快速特征嵌入的卷積體系結(jié)構(gòu)),核心語言是C++。Caffe的基本工作流程是設(shè)計(jì)建立在神經(jīng)網(wǎng)絡(luò)的一個(gè)簡單假設(shè),所有的計(jì)算都是層的形式表示的,網(wǎng)絡(luò)層所做的事情就是輸入數(shù)據(jù),然后輸出計(jì)算結(jié)果。比如卷積就是輸入一幅圖像,然后和這一層的參數(shù)(filter)做卷積,最終輸出卷積結(jié)果。每層需要兩種函數(shù)計(jì)算,一種是forward,從輸入計(jì)算到輸出;另一種是backward,從上層給的gradient來計(jì)算相對于輸入層的gradient。這兩個(gè)函數(shù)實(shí)現(xiàn)之后,我們就可以把許多層連接成一個(gè)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)輸入數(shù)據(jù)(圖像,語音或其他原始數(shù)據(jù)),然后計(jì)算需要的輸出(比如識(shí)別的標(biāo)簽)。在訓(xùn)練的時(shí)候,可以根據(jù)已有的標(biāo)簽計(jì)算loss和gradient,然后用gradient來更新網(wǎng)絡(luò)中的參數(shù)。