caffe學習筆記(1) 資料層定義

2021-07-11 22:23:54 字數 1836 閱讀 2681

要執行caffe,需要mode(train_val.prototxt)和solver(solver.prototxt)組成。

model由多個layer構成,每一layer有許多引數,所有的引數都定義在caffe.proto這個檔案中。

層有很多種型別,比如data,convolution,pooling,relu等,層之間的資料流動是以blobs的方式進行,blob代表filter之後的引數。

資料層是每個模型的最底層,是模型的入口,提供資料從blobs轉換成別的格式進行儲存輸出。

首先,資料的預處理(如減去均值, 放大縮小, 裁剪和映象等)。

所有的資料層的都具有的公用引數:

layer 

transform_param

data_param

}

定義transformations: 資料的預處理,可以將資料變換到定義的範圍內。如設定scale為0.00390625,實際上就是1/255, 即將輸入資料由0-255歸一化到0-1之間

transform_param
根據資料的**不同,即type不同,來進行不同的設定。

1、資料來自於資料庫(如leveldb和lmdb)

type: data

必須設定的引數:

source: 包含資料庫的目錄名稱,如examples/mnist/mnist_train_lmdb

batch_size: 每次處理的資料個數,如64

可選的引數:

rand_skip: 在開始的時候,路過某個資料的輸入。通常對非同步的sgd很有用。

backend: 選擇是採用leveldb還是lmdb, 預設是leveldb,但是lmdb比leveldb速度快10%-15%。

layer

transform_param

data_param

}

2、資料來自於記憶體

type: memorydata

必須設定的引數:

batch_size:每一次處理的資料個數,比如2

channels:通道數

height:高度

width: 寬度

示例:

layer

transform_param

}

3、資料來自於hdf5

type:hdf5data

必須設定的引數:

source: 讀取的檔名稱

batch_size: 每一次處理的資料個數

示例:

layer

}

4、資料來自於

type:imagedata

必須設定的引數:

batch_size: 每一次處理的資料個數,即數

可選引數:

rand_skip: 在開始的時候,路過某個資料的輸入。通常對非同步的sgd很有用。

shuffle: 隨機打亂順序,預設值為false

new_height,new_width: 如果設定,則將進行resize

示例:

layer

image_data_param

}

5、資料**於windows

type:windowdata

必須設定的引數:

source: 乙個文字檔案的名字

batch_size: 每一次處理的資料個數,即數

示例:

layer

transform_param

window_data_param

}

caffe學習筆記(1)

caffe學習筆記 1 剛開始學習caffe,發現乙個非常好的部落格caffe學習。看了幾遍收益匪淺,但是總是記不住,所以決定安裝該部落格的步驟一點一點實現,然後記錄在該系列的部落格中。原部落格是在ubuntu下實現,而我是在mac下實現的,而且只是cpu模式的caffe,所以有些地方可能會有點詫異...

caffe學習筆記2 資料層及其引數

本文主要參考 加入了一些自己的理解 在介紹之前,我們先來簡單地介紹下caffe caffe convolutional architecture for fast feature embedding快速特徵植入的卷積結構 是由伯克利視覺和學習中心 bvlc 開發的基於c cuda python實現的...

caffe學習筆記8 caffe網路層型別

總結1.損失函式層 loss layers 型別 softmaxwithloss softmax 損失函式 softmax with loss caffe中多類分類問題 contrastiveloss 對比損失函式 contrastive loss euclideanloss 歐式距離損失函式 eu...