caffe:原始圖片數(shù)據(jù)集轉(zhuǎn)換為lmdb格式并訓(xùn)練網(wǎng)絡(luò)

##Caffe

中DataLayer默認(rèn)的數(shù)據(jù)格式是LMDB盏档。許多example中提供的輸入數(shù)據(jù)是LMDB格式获列。使用extract_features.bin提取特征時(shí)支持的輸出格式之一也是LMDB超全。LMDB在Caffe的IO功能中有相當(dāng)重要的地位。因此,搞明白如何存取Caffe的LMDB數(shù)據(jù),對(duì)于我們使用Caffe是很有幫助的闪朱。LMDB

Caffe使用LMDB來存放訓(xùn)練/測(cè)試用的數(shù)據(jù)集,以及使用網(wǎng)絡(luò)提取出的feature(為了方便钻洒,以下還是統(tǒng)稱數(shù)據(jù)集)奋姿。數(shù)據(jù)集的結(jié)構(gòu)很簡(jiǎn)單,就是大量的矩陣/向量數(shù)據(jù)平鋪開來素标。數(shù)據(jù)之間沒有什么關(guān)聯(lián)胀蛮,數(shù)據(jù)內(nèi)沒有復(fù)雜的對(duì)象結(jié)構(gòu),就是向量和矩陣糯钙。既然數(shù)據(jù)并不復(fù)雜,Caffe就選擇了LMDB這個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)來存放數(shù)據(jù)退腥。

LMDB的全稱是Lightning Memory-Mapped Database任岸,閃電般的內(nèi)存映射數(shù)據(jù)庫(kù)。它文件結(jié)構(gòu)簡(jiǎn)單狡刘,一個(gè)文件夾享潜,里面一個(gè)數(shù)據(jù)文件,一個(gè)鎖文件嗅蔬。數(shù)據(jù)隨意復(fù)制剑按,隨意傳輸。它的訪問簡(jiǎn)單澜术,不需要運(yùn)行單獨(dú)的數(shù)據(jù)庫(kù)管理進(jìn)程艺蝴,只要在訪問數(shù)據(jù)的代碼里引用LMDB庫(kù),訪問時(shí)給文件路徑即可鸟废。

圖像數(shù)據(jù)集歸根究底從圖像文件而來猜敢。既然有ImageDataLayer可以直接讀取圖像文件,為什么還要用數(shù)據(jù)庫(kù)來放數(shù)據(jù)集,增加讀寫的麻煩呢缩擂?我認(rèn)為鼠冕,Caffe引入數(shù)據(jù)庫(kù)存放數(shù)據(jù)集,是為了減少IO開銷胯盯。讀取大量小文件的開銷是非常大的懈费,尤其是在機(jī)械硬盤上。LMDB的整個(gè)數(shù)據(jù)庫(kù)放在一個(gè)文件里博脑,避免了文件系統(tǒng)尋址的開銷憎乙。LMDB使用內(nèi)存映射的方式訪問文件黍翎,使得文件內(nèi)尋址的開銷非常小择浊,使用指針運(yùn)算就能實(shí)現(xiàn)。數(shù)據(jù)庫(kù)單文件還能減少數(shù)據(jù)集復(fù)制/傳輸過程的開銷挂谍。一個(gè)幾萬君账,幾十萬文件的數(shù)據(jù)集繁堡,不管是直接復(fù)制,還是打包再解包乡数,過程都無比漫長(zhǎng)而痛苦椭蹄。LMDB數(shù)據(jù)庫(kù)只有一個(gè)文件,你的介質(zhì)有多塊净赴,就能復(fù)制多快绳矩,不會(huì)因?yàn)槲募喽缥伵!?/p>

##Caffe中的LMDB數(shù)據(jù)

接下來要介紹Caffe是如何使用LMDB存放數(shù)據(jù)的玖翅。

Caffe中的LMDB數(shù)據(jù)大約有兩類:一類是輸入DataLayer的訓(xùn)練/測(cè)試數(shù)據(jù)集翼馆;另一類則是extract_feature輸出的特征數(shù)據(jù)。

###Datum數(shù)據(jù)結(jié)構(gòu)

首先需要注意的是金度,Caffe并不是把向量和矩陣直接放進(jìn)數(shù)據(jù)庫(kù)的应媚,而是將數(shù)據(jù)通過caffe.proto里定義的一個(gè)datum類來封裝。數(shù)據(jù)庫(kù)里放的是一個(gè)個(gè)的datum序列化成的字符串猜极。Datum的定義摘錄如下:

'''Datum{int32height =2;int32width =3;// the actual image data, in bytes

bytes data =4;

int32 label =5;// Optionally, the datum could also hold float data.repeated

floatfloat_data =6;// If true data contains an encoded image that need to be decoded

bool encoded =7[default =false];} '''

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末中姜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子跟伏,更是在濱河造成了極大的恐慌丢胚,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件受扳,死亡現(xiàn)場(chǎng)離奇詭異携龟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)勘高,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門骨宠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浮定,“玉大人,你說我怎么就攤上這事层亿¤胱洌” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵匿又,是天一觀的道長(zhǎng)方灾。 經(jīng)常有香客問我,道長(zhǎng)碌更,這世上最難降的妖魔是什么裕偿? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮痛单,結(jié)果婚禮上嘿棘,老公的妹妹穿的比我還像新娘。我一直安慰自己旭绒,他們只是感情好鸟妙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挥吵,像睡著了一般重父。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忽匈,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天房午,我揣著相機(jī)與錄音,去河邊找鬼丹允。 笑死郭厌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雕蔽。 我是一名探鬼主播折柠,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼萎羔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碳默,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤贾陷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后嘱根,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體髓废,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年该抒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慌洪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冈爹,靈堂內(nèi)的尸體忽然破棺而出涌攻,到底是詐尸還是另有隱情,我是刑警寧澤频伤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布恳谎,位于F島的核電站,受9級(jí)特大地震影響憋肖,放射性物質(zhì)發(fā)生泄漏因痛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一岸更、第九天 我趴在偏房一處隱蔽的房頂上張望鸵膏。 院中可真熱鬧,春花似錦怎炊、人聲如沸谭企。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赞咙。三九已至,卻和暖如春糟港,著一層夾襖步出監(jiān)牢的瞬間攀操,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工秸抚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留速和,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓剥汤,卻偏偏與公主長(zhǎng)得像颠放,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吭敢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容