此篇文章主要是給大家介紹了Caffe神經(jīng)網(wǎng)絡(luò)服務(wù)層及主要參數(shù)實例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪
前言
要運行caffe,必須要先構(gòu)建一個實體模型(model),如較為常見的Lenet,Alex等,所以一個實體模型由好幾個屋(layer)構(gòu)成,每個屋又由很多主要參數(shù)構(gòu)成。每一個主要參數(shù)都界定在caffe.proto這一文檔中。要熟練掌握caffe,最重要的就是學(xué)好環(huán)境變量(prototxt)的編輯。
層有許多種種類,例如Data,Convolution,Pooling等,層間的數(shù)據(jù)流動要以Blobs的形式進(jìn)行。
服務(wù)層
下面我們就為大家介紹一下下服務(wù)層.
服務(wù)層是每一個模型底層,是模型通道,不但給出的數(shù)據(jù)的鍵入,也給出的數(shù)據(jù)從Blobs轉(zhuǎn)換成其他文件格式開展儲存導(dǎo)出。一般數(shù)據(jù)的預(yù)處理(如減掉平均值,等比例縮放,裁切和鏡象等),在這一層層設(shè)定主要參數(shù)完成。
信息來源能夠來自高效率的數(shù)據(jù)庫系統(tǒng)(如LevelDB和LMDB),可以直接是來自于運行內(nèi)存。假如不太注重質(zhì)量得話,數(shù)據(jù)信息也可以來自硬盤的hdf5文件或照片格式。
每一個服務(wù)層都所具有的公共主要參數(shù):首先看實例
layer{ name:"cifar" type:"Data" top:"data" top:"label" include{ phase:TRAIN } transform_param{ mean_file:"examples/cifar10/mean.binaryproto" } data_param{ source:"examples/cifar10/cifar10_train_lmdb" batch_size:100 backend:LMDB } }
name:表明該層名字,可任意取
type:層種類,假如是Data,表明數(shù)據(jù)信息來自LevelDB或LMDB。依據(jù)數(shù)據(jù)信息的源頭不一樣,服務(wù)層的種類也不盡相同(接下來會詳細(xì)描述)。一般是在練習(xí)時,大家都采用的LevelDB或LMDB數(shù)據(jù)信息,因而層種類設(shè)為Data。
top或bottom:每層用bottom來錄入數(shù)據(jù),用top來導(dǎo)出數(shù)據(jù)信息。如果要有top沒有bottom,則此層僅有導(dǎo)出,并沒有鍵入。相反也是。假如多么個top的多個bottom,表明多么個blobs數(shù)據(jù)的輸入輸出。
data與label:在數(shù)據(jù)層中,至少有一個命名為data的top。如果有第二個top,一般命名為label。這種(data,label)配對是分類模型所必需的。
include:一般訓(xùn)練的時候和測試的時候,模型的層是不一樣的。該層(layer)是屬于訓(xùn)練階段的層,還是屬于測試階段的層,需要用include來指定。如果沒有include參數(shù),則表示該層既在訓(xùn)練模型中,又在測試模型中。
Transformations:數(shù)據(jù)的預(yù)處理,可以將數(shù)據(jù)變換到定義的范圍內(nèi)。如設(shè)置scale為0.00390625,實際上就是1/255,即將輸入數(shù)據(jù)由0-255歸一化到0-1之間
其它的數(shù)據(jù)預(yù)處理也在這個地方設(shè)置:
transform_param{ scale:0.00390625 mean_file_size:"examples/cifar10/mean.binaryproto" #用一個配置文件來進(jìn)行均值操作 mirror:1#1表示開啟鏡像,0表示關(guān)閉,也可用ture和false來表示 #剪裁一個227*227的圖塊,在訓(xùn)練階段隨機(jī)剪裁,在測試階段從中間裁剪 crop_size:227 }
后面的data_param部分,就是根據(jù)數(shù)據(jù)的來源不同,來進(jìn)行不同的設(shè)置。
1、數(shù)據(jù)來自于數(shù)據(jù)庫(如LevelDB和LMDB)
層類型(layer type):Data
必須設(shè)置的參數(shù):
source:包含數(shù)據(jù)庫的目錄名稱,如examples/mnist/mnist_train_lmdb
batch_size:每次處理的數(shù)據(jù)個數(shù),如64
可選的參數(shù):
rand_skip:在開始的時候,路過某個數(shù)據(jù)的輸入。通常對異步的SGD很有用。
backend:選擇是采用LevelDB還是LMDB,默認(rèn)是LevelDB.
示例:
layer{ name:"mnist" type:"Data" top:"data" top:"label" include{ phase:TRAIN } transform_param{ scale:0.00390625 } data_param{ source:"examples/mnist/mnist_train_lmdb" batch_size:64 backend:LMDB } }
2、數(shù)據(jù)來自于內(nèi)存
層類型:MemoryData
必須設(shè)置的參數(shù):
batch_size:每一次處理的數(shù)據(jù)個數(shù),比如2
channels:通道數(shù)
height:高度
width:寬度
示例:
layer{ top:"data" top:"label" name:"memory_data" type:"MemoryData" memory_data_param{ batch_size:2 height:100 width:100 channels:1 } transform_param{ scale:0.0078125 mean_file:"mean.proto" mirror:false } } 3、數(shù)據(jù)來自于HDF5 層類型:HDF5Data 必須設(shè)置的參數(shù): source:讀取的文件名稱 batch_size:每一次處理的數(shù)據(jù)個數(shù)
示例:
layer{ name:"data" type:"HDF5Data" top:"data" top:"label" hdf5_data_param{ source:"examples/hdf5_classification/data/train.txt" batch_size:10 } }
4、數(shù)據(jù)來自于圖片
層類型:ImageData
必須設(shè)置的參數(shù):
source:一個文本文件的名字,每一行給定一個圖片文件的名稱和標(biāo)簽(label)
batch_size:每一次處理的數(shù)據(jù)個數(shù),即圖片數(shù)
可選參數(shù):
rand_skip:在開始的時候,路過某個數(shù)據(jù)的輸入。通常對異步的SGD很有用。
shuffle:隨機(jī)打亂順序,默認(rèn)值為false
new_height,new_width:如果設(shè)置,則將圖片進(jìn)行resize
示例:
layer{ name:"data" type:"ImageData" top:"data" top:"label" transform_param{ mirror:false crop_size:227 mean_file:"data/ilsvrc12/imagenet_mean.binaryproto" } image_data_param{ source:"examples/_temp/file_list.txt" batch_size:50 new_height:256 new_width:256 } }
5、數(shù)據(jù)來源于Windows
層類型:WindowData
必須設(shè)置的參數(shù):
source:一個文本文件的名字
batch_size:每一次處理的數(shù)據(jù)個數(shù),即圖片數(shù)
示例:
layer{ name:"data" type:"WindowData" top:"data" top:"label" include{ phase:TRAIN } transform_param{ mirror:true crop_size:227 mean_file:"data/ilsvrc12/imagenet_mean.binaryproto" } window_data_param{ source:"examples/finetune_pascal_detection/window_file_2007_trainval.txt" batch_size:128 fg_threshold:0.5 bg_threshold:0.5 fg_fraction:0.25 context_pad:16 crop_mode:"warp" } }
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/128774.html
此篇文章主要是給大家介紹了Caffe神經(jīng)網(wǎng)絡(luò)視覺效果層VisionLayers及主要參數(shù)詳細(xì)說明,感興趣的小伙伴可以參考參考一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪 前言 每一個層都有著的主要參數(shù),如name,type,bottom,top和transform_param請參考我前篇文章:Caffe神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)訪問層及主要參數(shù) 文中只解讀視覺效果層(VisionLayer...
摘要:在兩個平臺三個平臺下,比較這五個深度學(xué)習(xí)庫在三類流行深度神經(jīng)網(wǎng)絡(luò)上的性能表現(xiàn)。深度學(xué)習(xí)的成功,歸因于許多層人工神經(jīng)元對輸入數(shù)據(jù)的高表征能力。在年月,官方報道了一個基準(zhǔn)性能測試結(jié)果,針對一個層全連接神經(jīng)網(wǎng)絡(luò),與和對比,速度要快上倍。 在2016年推出深度學(xué)習(xí)工具評測的褚曉文團(tuán)隊,趕在猴年最后一天,在arXiv.org上發(fā)布了的評測版本。這份評測的初版,通過國內(nèi)AI自媒體的傳播,在國內(nèi)業(yè)界影響很...
文中主要是給大家介紹了caffe的python插口之手寫數(shù)字識別mnist案例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪 論文引言 機(jī)器學(xué)習(xí)第一個案例一般都是是mnist,只需這個案例徹底搞懂了,其他的便是觸類旁通的事了。因為字?jǐn)?shù)緣故,文中不簡單介紹環(huán)境變量里邊每一個指標(biāo)的具體函義,如果要搞明白的,請參考我之前的微博文章: 數(shù)據(jù)訪問層及主...
摘要:在嵌入式系統(tǒng)上的深度學(xué)習(xí)隨著人工智能幾乎延伸至我們生活的方方面面,主要挑戰(zhàn)之一是將這種智能應(yīng)用到小型低功耗設(shè)備上。領(lǐng)先的深度學(xué)習(xí)框架我們來詳細(xì)了解下和這兩個領(lǐng)先的框架。適用性用于圖像分類,但并非針對其他深度學(xué)習(xí)的應(yīng)用,例如文本或聲音。 在嵌入式系統(tǒng)上的深度學(xué)習(xí)隨著人工智能 (AI) 幾乎延伸至我們生活的方方面面,主要挑戰(zhàn)之一是將這種智能應(yīng)用到小型、低功耗設(shè)備上。這需要嵌入式平臺,能夠處理高性...
摘要:雅虎開源了一個進(jìn)行色情圖像檢測的深度學(xué)習(xí)解決方案。卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)和權(quán)衡近年來,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)在圖像分類問題中取得了巨大成功。自年以來,新的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)一直在不斷改進(jìn)標(biāo)準(zhǔn)分類挑戰(zhàn)的精度。 雅虎開源了一個進(jìn)行色情圖像檢測的深度學(xué)習(xí)解決方案。據(jù)文章介紹,這可能是較早的識別 NSFW 圖像的開源模型。開源地址:https://github.com/yahoo/open_nsfw自動識別一張對...
閱讀 926·2023-01-14 11:38
閱讀 899·2023-01-14 11:04
閱讀 758·2023-01-14 10:48
閱讀 2063·2023-01-14 10:34
閱讀 965·2023-01-14 10:24
閱讀 844·2023-01-14 10:18
閱讀 512·2023-01-14 10:09
閱讀 590·2023-01-14 10:02