py-faster-rcnn(caffe)的end2end參數(shù)解析(slover漾狼,config)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?solver.prototxt

net:?"models/pascal_voc/VGG_CNN_M_1024/faster_rcnn_end2end/train.prototxt"??

設(shè)置深度網(wǎng)絡(luò)模型孙咪。每一個模型就是一個net宁改,需要在一個專門的配置文件中對net進行配置樊破,文件的路徑要從caffe的根目錄開始愉棱,其它的所有配置都是這樣。

test_iter:?100 ?

這個要與test layer中的batch_size結(jié)合起來理解哲戚。mnist數(shù)據(jù)中測試樣本總數(shù)為10000奔滑,一次性執(zhí)行全部數(shù)據(jù)效率很低,因此我們將測試數(shù)據(jù)分成幾個批次來執(zhí)行顺少,每個批次的數(shù)量就是batch_size朋其。假設(shè)我們設(shè)置batch_size為100王浴,則需要迭代100次才能將10000個數(shù)據(jù)全部執(zhí)行完。因此test_iter設(shè)置為100梅猿。執(zhí)行完一次全部數(shù)據(jù)氓辣,稱之為一個epoch

test_interval:?500 ?

測試間隔。也就是每訓(xùn)練500次袱蚓,才進行一次測試筛婉。

base_lr:?0.01 ?

lr_policy:"inv"??

gamma:?0.0001??

power:?0.75??

這四行可以放在一起理解,用于學(xué)習(xí)率的設(shè)置癞松。只要是梯度下降法來求解優(yōu)化爽撒,都會有一個學(xué)習(xí)率,也叫步長响蓉。base_lr用于設(shè)置基礎(chǔ)學(xué)習(xí)率硕勿,在迭代的過程中,可以對基礎(chǔ)學(xué)習(xí)率進行調(diào)整枫甲。怎么樣進行調(diào)整源武,就是調(diào)整的策略,由lr_policy來設(shè)置想幻。

lr_policy可以設(shè)置為下面這些值粱栖,相應(yīng)的學(xué)習(xí)率的計算為:

- fixed: ?保持base_lr不變.

- step: ?如果設(shè)置為step,則還需要設(shè)置一個stepsize, ?返回 base_lr * gamma ^ (floor(iter / stepsize)),其中iter表示當(dāng)前的迭代次數(shù)

- exp: ? 返回base_lr * gamma ^ iter, iter為當(dāng)前迭代次數(shù)

- inv: ? ? 如果設(shè)置為inv,還需要設(shè)置一個power, 返回base_lr * (1 + gamma * iter) ^ (- power)

- multistep:?如果設(shè)置為multistep,則還需要設(shè)置一個stepvalue脏毯。這個參數(shù)和step很相似闹究,step是均勻等間隔變化,而multistep則是根據(jù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? stepvalue值變化

- poly: ?學(xué)習(xí)率進行多項式誤差, 返回 base_lr (1 - iter/max_iter) ^ (power)

- sigmoid: 學(xué)習(xí)率進行sigmod衰減食店,返回 base_lr ( 1/(1 + exp(-gamma * (iter - stepsize))))

multistep示例:

base_lr:?0.01 ?

momentum:?0.9??

weight_decay:?0.0005??

#?The?learning?rate?policy??

lr_policy:"multistep"??

gamma:?0.9??

stepvalue:?5000??

stepvalue:?7000??

stepvalue:?8000??

stepvalue:?9000??

stepvalue:?9500??

momentum?:0.9 ?

上一次梯度更新的權(quán)重

type:?SGD ?

優(yōu)化算法選擇渣淤。這一行可以省掉,因為默認值就是SGD吉嫩〖廴希總共有六種方法可選擇,在本文的開頭已介紹自娩。

weight_decay:?0.0005 ?

權(quán)重衰減項用踩,防止過擬合的一個參數(shù)。

display:?100 ?

每訓(xùn)練100次忙迁,在屏幕上顯示一次脐彩。如果設(shè)置為0,則不顯示动漾。

max_iter:?20000 ?

最大迭代次數(shù)丁屎。這個數(shù)設(shè)置太小荠锭,會導(dǎo)致沒有收斂旱眯,精確度很低。設(shè)置太大,會導(dǎo)致震蕩删豺,浪費時間共虑。

snapshot:?5000 ?

snapshot_prefix:"examples/mnist/lenet"??

快照。將訓(xùn)練出來的model和solver狀態(tài)進行保存呀页,snapshot用于設(shè)置訓(xùn)練多少次后進行保存妈拌,默認為0,不保存蓬蝶。snapshot_prefix設(shè)置保存路徑尘分。

還可以設(shè)置snapshot_diff,是否保存梯度值丸氛,默認為false,不保存培愁。

也可以設(shè)置snapshot_format,保存的類型缓窜。有兩種選擇:HDF5 和BINARYPROTO 定续,默認為BINARYPROTO

solver_mode:?CPU ?

設(shè)置運行模式。默認為GPU,如果你沒有GPU,則需要改成CPU,否則會出錯禾锤。



py-faster-rcnn代碼閱讀1-train_net.py & train.py

py-faster-rcnn代碼閱讀2-config.py

py-faster-rcnn代碼閱讀3-roidb.py

faster-rcnn 之 基于roidb get_minibatch(數(shù)據(jù)準(zhǔn)備操作)

https://blog.csdn.net/sloanqin/article/details/51611747


imdb

??image_set: split

??devkit_path: config.DATA_DIR(root/data/) + VOCdevkit + year

??data_path: devkit_path + '/' + 'VOC' + year

??image_index: a list read image name from

例如私股,root/data + /VOCdevkit2007/VOC2007/ImageSets/Main/{image_set}.txt

roidb: gt_roidb得到(cfg.TRAIN.PROPOSAL_METHOD=gt導(dǎo)致了此操作)

classes: 類別定義

num_classes: 類別的長度

class_to_ind:{類別名:類別索引}字典

num_images(): image_index'length,數(shù)據(jù)庫中圖片個數(shù)

image_path_at(index): 得到第index圖片的地址恩掷,data_path + '/' + 'JPEGImages' + image_index[index] + image_ext(.jpg)


在train_faster_rcnn_alt_opt.py的imdb.set_proposal_method之后一旦用imdb.roidb都會用gt_roidb讀取xml中的內(nèi)容中得到部分信息

xml的地址:data_path + '/' + 'Annotations' + '/' + index + '.xml'

??????????(root/data/) + VOCdevkit + year ?+ '/' + 'VOC' + year + '/' + 'Annotations' + '/' + index + '.xml'

get_training_roidb: 對得到的roi做是否反轉(zhuǎn)(參見roidb的flipped倡鲸,為了擴充數(shù)據(jù)庫)和到roidb.py的prepare_roidb中計算得到roidb的其他數(shù)據(jù)


def get_minibatch(roidb, num_classes):

這個函數(shù)會根據(jù)roidb中的信息,調(diào)用opencv讀取圖片黄娘,整理成blobs返回旦签,所以這個函數(shù)是faster-rcnn實際的數(shù)據(jù)準(zhǔn)備操作,我們來分析minibatch.py這個文件寸宏;

【輸入】:roidb是一個list宁炫,list中的每個元素是一個字典,每個字典對應(yīng)一張圖片的信息氮凝,其中的主要信息有:

boxes 一個二維數(shù)組羔巢,每一行存儲?xmin?ymin?xmax?ymax

gt _classes存儲了每個box所對應(yīng)的類索引(類數(shù)組在初始化函數(shù)中聲明)

gt _overlap是一個二維數(shù)組,共有num _classes(即類的個數(shù))行罩阵,每一行對應(yīng)的box的類索引處值為1竿秆,其余皆為0,后來被轉(zhuǎn)成了稀疏矩陣

seg _areas存儲著某個box的面積

flipped 為false 代表該圖片還未被翻轉(zhuǎn)(后來在train.py里會將翻轉(zhuǎn)的圖片加進去稿壁,用該變量用于區(qū)分

height:圖片原始的高

width:圖片原始的寬

image:圖片的路徑

??boxes: four rows.the proposal.left-up,right-down

(下面的值在roidb.py的prepare_roidb中得到)

image:image_path_at(index)幽钢,此roi的圖片地址

width:此圖片的寬

height: 高

max_classes: box的類別=labels(gt_overlaps行最大值索引)

max_overlaps:(gt_overlaps行最大值)(max_overlaps=0,max_classes=0傅是,即都是背景匪燕,否則不正確) ?

output_dir:?ROOT_DIR + 'output' + EXP_DIR('faster_rcnn_alt_opt') + imdb.name("voc_2007_trainval" or "voc_2007_test")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蕾羊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子帽驯,更是在濱河造成了極大的恐慌龟再,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尼变,死亡現(xiàn)場離奇詭異利凑,居然都是意外死亡,警方通過查閱死者的電腦和手機嫌术,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門哀澈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人度气,你說我怎么就攤上這事日丹。” “怎么了蚯嫌?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵哲虾,是天一觀的道長。 經(jīng)常有香客問我择示,道長束凑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任栅盲,我火速辦了婚禮汪诉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谈秫。我一直安慰自己扒寄,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布拟烫。 她就那樣靜靜地躺著该编,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硕淑。 梳的紋絲不亂的頭發(fā)上课竣,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音置媳,去河邊找鬼于樟。 笑死,一個胖子當(dāng)著我的面吹牛拇囊,可吹牛的內(nèi)容都是我干的迂曲。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼寥袭,長吁一口氣:“原來是場噩夢啊……” “哼路捧!你這毒婦竟也來了关霸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤鬓长,失蹤者是張志新(化名)和其女友劉穎谒拴,沒想到半個月后尝江,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涉波,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年炭序,在試婚紗的時候發(fā)現(xiàn)自己被綠了啤覆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡惭聂,死狀恐怖窗声,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辜纲,我是刑警寧澤笨觅,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站耕腾,受9級特大地震影響见剩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扫俺,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一苍苞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狼纬,春花似錦羹呵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至盈简,卻和暖如春涛癌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背送火。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工拳话, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人种吸。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓弃衍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親坚俗。 傳聞我的和親對象是個殘疾皇子镜盯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

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