python格式的Caffe圖片數(shù)據(jù)均值計(jì)算學(xué)習(xí)
引言
圖片減去均值后,再進(jìn)行訓(xùn)練和測(cè)試,會(huì)提高速度和精度。因此,一般在各種模型中都會(huì)有這個(gè)操作。
那么這個(gè)均值怎么來(lái)的呢,實(shí)際上就是計(jì)算所有訓(xùn)練樣本的平均值,計(jì)算出來(lái)后,保存為一個(gè)均值文件,在以后的測(cè)試中,就可以直接使用這個(gè)均值來(lái)相減,而不需要對(duì)測(cè)試圖片重新計(jì)算。
一、二進(jìn)制格式的均值計(jì)算
caffe中使用的均值數(shù)據(jù)格式是binaryproto, 作者為我們提供了一個(gè)計(jì)算均值的文件compute_image_mean.cpp,放在caffe根目錄下的tools文件夾里面。
編譯后的可執(zhí)行體放在 build/tools/ 下面,我們直接調(diào)用就可以了
# sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto
帶兩個(gè)參數(shù):
第一個(gè)參數(shù):examples/mnist/mnist_train_lmdb, 表示需要計(jì)算均值的數(shù)據(jù),格式為lmdb的訓(xùn)練數(shù)據(jù)。
第二個(gè)參數(shù):examples/mnist/mean.binaryproto, 計(jì)算出來(lái)的結(jié)果保存文件。
二、python格式的均值計(jì)算
如果我們要使用python接口,或者我們要進(jìn)行特征可視化,可能就要用到python格式的均值文件了。首先,我們用lmdb格式的數(shù)據(jù),計(jì)算出二進(jìn)制格式的均值,然后,再轉(zhuǎn)換成python格式的均值。
我們可以編寫一個(gè)python腳本來(lái)實(shí)現(xiàn):
#!/usr/bin/env python import numpy as np import sys,caffe if len(sys.argv)!=3: print "Usage: python convert_mean.py mean.binaryproto mean.npy" sys.exit() blob = caffe.proto.caffe_pb2.BlobProto() bin_mean = open( sys.argv[1] , 'rb' ).read() blob.ParseFromString(bin_mean) arr = np.array( caffe.io.blobproto_to_array(blob) ) npy_mean = arr[0] np.save( sys.argv[2] , npy_mean )
將這個(gè)腳本保存為convert_mean.py
調(diào)用格式為:
# sudo python convert_mean.py mean.binaryproto mean.npy
其中的 mean.binaryproto 就是經(jīng)過(guò)前面步驟計(jì)算出來(lái)的二進(jìn)制均值。
mean.npy就是我們需要的python格式的均值。
以上就是python格式的Caffe圖片數(shù)據(jù)均值計(jì)算學(xué)習(xí)的詳細(xì)內(nèi)容,更多關(guān)于python格式Caffe均值計(jì)算的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
搭建?Selenium+Python開(kāi)發(fā)環(huán)境詳細(xì)步驟
這篇文章主要介紹了搭建?Selenium+Python開(kāi)發(fā)環(huán)境詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下2022-10-10Python3.5常見(jiàn)內(nèi)置方法參數(shù)用法實(shí)例詳解
這篇文章主要介紹了Python3.5常見(jiàn)內(nèi)置方法參數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了Python常見(jiàn)的內(nèi)置方法及參數(shù)使用技巧,需要的朋友可以參考下2019-04-04matplotlib對(duì)象拾取事件處理的實(shí)現(xiàn)
這篇文章主要介紹了matplotlib對(duì)象拾取事件處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01分享15 超級(jí)好用得 Python 實(shí)用技巧
這篇文章主要分享了15 超級(jí)好用得 Python 實(shí)用技巧,如果你對(duì)其中一個(gè)或多個(gè)感興趣,可以參考一下,希望對(duì)你能有所幫助2021-12-12Python實(shí)現(xiàn)的中國(guó)剩余定理算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的中國(guó)剩余定理算法,結(jié)合實(shí)例形式分析了中國(guó)剩余定理的概念、原理及具體算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08分享7個(gè) Python 實(shí)戰(zhàn)項(xiàng)目練習(xí)
這篇文章主要介紹了分享7個(gè) Python 實(shí)戰(zhàn)項(xiàng)目代碼,經(jīng)過(guò)Python3.6.4調(diào)試通過(guò)的代碼,就具一點(diǎn)的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03