MobileNet SSD V2 tflite模型的量化

上回記錄了mobilenet ssd v2模型的壓縮和轉(zhuǎn)換過程吱晒,還留了一個(gè)尾巴,那就是模型的量化联四。這應(yīng)該也是一個(gè)可以深入的問題撑碴,畢竟我在查閱資料的時(shí)候看到了什么量化、偽量化朝墩,whatever醉拓。具體的概念和原理不在此贅述(其實(shí)就是我也還沒研究過。。亿卤。)玫镐,本著工程實(shí)用優(yōu)先的原則,先記錄一下量化流程吧怠噪,畢竟業(yè)務(wù)部門只關(guān)心能不能上線以及何時(shí)上線

書接上文恐似,MobileNet SSD V2模型的壓縮與tflite格式的轉(zhuǎn)換 - 簡書,因?yàn)槭莟flite模型的量化傍念,所以上文的流程還是需要走一遍的矫夷,只是幾個(gè)地方需要調(diào)整一下。

修改配置文件


這次我們需要用到的就是圖中的最后一個(gè)文件憋槐,經(jīng)過對(duì)比双藕,量化模型的配置文件與非量化的區(qū)別就在于多了如下幾行:

graph_rewriter {

? quantization {

? ? delay: 48000

? ? weight_bits: 8

? ? activation_bits: 8

? }

}

所以如果你不想下載新的文件,在之前的配置文件末尾加上這一部分就可以了阳仔。

訓(xùn)練模型

和配置文件類似忧陪,加載預(yù)訓(xùn)練模型有對(duì)應(yīng)的量化版可以選擇,然后就和上文一樣訓(xùn)練近范,一樣導(dǎo)出嘶摊。

~~~~~~~~~~~~~~~~~~~~分割線~~~~~~~~~~~~~~~~~~~

到此為止,得到了訓(xùn)練產(chǎn)生的ckpt以及導(dǎo)出的pb文件评矩。

tflite量化

接下來進(jìn)入模型量化的核心部分叶堆,

第一步,將ckpt轉(zhuǎn)成pb文件斥杜,使用的是python?export_tflite_ssd_graph.py虱颗,會(huì)得到tflite_graph.pb和tflite_graph.pbtxt兩個(gè)文件,這里與之前是相同的蔗喂;

第二步忘渔,將pb轉(zhuǎn)為tflite文件,依舊是進(jìn)入到tensorflow/contrib/lite/python目錄缰儿,運(yùn)行python tflite_convert.py畦粮,然而這一次,除了上次設(shè)置的參數(shù):

--graph_def_file=XXX/tflite_graph.pb 上一步生成的pb文件地址

--output_file=XXX/xxx.tflite 輸出的tflite文件地址

--input_arrays=normalized_input_image_tensor 輸入輸出的數(shù)組名稱對(duì)于mobilenet ssd是固定的返弹,不用改?

--output_arrays='TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3'

?--input_shape=1,XXX,XXX,3 輸入的圖片大小锈玉,需要與配置文件中一致

--allow_custom_ops

還有幾個(gè)參數(shù)需要注意一下:

--inference_type=QUANTIZED_UINT8 默認(rèn)是FLOAT,量化時(shí)需要改為QUANTIZED_UINT8

--mean_values=128?

--std_dev_values=128

對(duì)于均值和標(biāo)準(zhǔn)差的設(shè)置义起,我找到了一個(gè)來自stackoverflow的計(jì)算方法:

mean_value = the uint8 value in the range [0, 255] that corresponds to floating point 0.0. So if the float range is [0.0, 1.0], then mean_value = 0.

std_value = (uint8_max - uint8_min) / (float_max - float_min). So if the float range is [0.0, 1.0], then std_value = 255 / 1.0 = 255.

(我試了0拉背,255和128,128這兩組默终,直觀感受128椅棺,128效果更好犁罩,網(wǎng)上也有人實(shí)測其他組合效果更加,因此大家還是自己去調(diào)參吧)

經(jīng)過這么一通操作两疚,最后生成的tflite模型僅400+K床估,精度損失肯定是有的,但我還沒有具體去測诱渤。

參考

https://blog.csdn.net/qq_26535271/article/details/84930868

Tensorflow Lite toco --mean_values --std_values? - Stack Overflow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丐巫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子勺美,更是在濱河造成了極大的恐慌递胧,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赡茸,死亡現(xiàn)場離奇詭異缎脾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)占卧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門遗菠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人华蜒,你說我怎么就攤上這事辙纬。” “怎么了友多?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵牲平,是天一觀的道長。 經(jīng)常有香客問我域滥,道長,這世上最難降的妖魔是什么蜈抓? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任启绰,我火速辦了婚禮,結(jié)果婚禮上沟使,老公的妹妹穿的比我還像新娘委可。我一直安慰自己,他們只是感情好腊嗡,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布着倾。 她就那樣靜靜地躺著,像睡著了一般燕少。 火紅的嫁衣襯著肌膚如雪卡者。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天客们,我揣著相機(jī)與錄音崇决,去河邊找鬼材诽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恒傻,可吹牛的內(nèi)容都是我干的脸侥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼盈厘,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼睁枕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沸手,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤譬重,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后罐氨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臀规,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年栅隐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了塔嬉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡租悄,死狀恐怖谨究,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泣棋,我是刑警寧澤胶哲,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站潭辈,受9級(jí)特大地震影響鸯屿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜把敢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一寄摆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧修赞,春花似錦婶恼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至割择,卻和暖如春眷篇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锨推。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工铅歼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留公壤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓椎椰,卻偏偏與公主長得像厦幅,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子慨飘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344