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