【轉】Caffe初試(八)Blob,Layer和Net以及對應設定檔的編寫

來源:互聯網
上載者:User

標籤:output   數學   net   儲存   基本操作   之間   back   初始化   batch   

 

深度網路(net)是一個組合模型,它由許多相互串連的層(layers)組合而成。Caffe就是組建深度網路的這樣一種工具,它按照一定的策略,一層一層的搭建出自己的模型。它將所有的資訊資料定義為blobs,從而進行便利的操作和通訊。Blob是caffe架構中一種標準的數組,一種統一的記憶體介面,它詳細描述了資訊是如何儲存的,以及如何在層之間通訊的。

1、blob

Blobs封裝了運行時的資料資訊,提供了CPU和GPU的同步。從數學上來說,Blob就是一個N維數組。它是caffe中的資料基本單位,就像matlab中以矩陣為基本操作對象一樣。只是矩陣是二維的,而Blob是N維的。N可以是2,3,4等等。對於圖片資料來說,Blob可以表示為(N*C*H*W)這樣一個4D數組。其中N表示圖片的數量,C表示圖片的通道數,H和W分別表示圖片的高度和寬度。當然,除了圖片資料,Blob也可以用於非圖片資料。比如傳統的多層感知機,就是比較簡單的全串連網路,用2D的Blob,調用innerProduct層來計算就可以了。

2、layer

層是網路模型的組成要素和計算基本單位。層的類型比較多,如Data,Convolution,Pooling,ReLUmSoftmax-loss,Accuracy等,一個層的定義大致如:

 

從bottom進行資料的輸入,計算後,通過top進行輸出。圖中的黃色多邊形表示輸入輸出的資料,藍色矩形展示層。

每一種類型的層都定義為三種關鍵的計算:setup,forward and backword

setup:層的建立和初始化,以及在整個模型中的串連初始化。

forward:從bottom得到輸入資料,進行計算,並將計算結果送到top,進行輸出。

backward:從層的輸出端top得到資料的梯度,計算當前層的梯度,並將計算結果送到bottom,向前傳遞。

3、Net

就像搭積木一樣,一個net由多個layer組合而成。

現給出一個簡單的2層神經網路的模型定義(加上loss層就變成三層了),先給出這個網路拓撲。

 

 

第一層:name為mnist,type為Data,沒有輸入(bottom),只有兩個輸出(top),一個為data,一個為label

第二層:name為ip,type為InnerProduct,輸入資料data,輸出資料ip

第三層:name為loss,type為SoftmaxWithLoss,有兩個輸入,一個為ip,一個為label,有一個輸出loss,沒有畫出來。

對應的設定檔prototxt就可以這樣寫:

name: "LogReg"  layer {    name: "mnist"    type: "Data"    top: "data"    top: "label"    data_param {      source: "input_leveldb"      batch_size: 64    }  }  layer {    name: "ip"    type: "InnerProduct"    bottom: "data"    top: "ip"    inner_product_param {      num_output: 2    }  }  layer {    name: "loss"    type: "SoftmaxWithLoss"    bottom: "ip"    bottom: "label"    top: "loss"  }  

第一行將這個模型取名為LogReg,然後是三個layer的定義,參數都比較簡單,只列出必須的參數。

 

【轉】Caffe初試(八)Blob,Layer和Net以及對應設定檔的編寫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.