上次說了模型訓練的示例掩宜,這次把預測部分也實現(xiàn)下散劫,本文預測方法會提供兩種小渊,一種是針對單樣本的預測脏榆,一種是使用dataset實現(xiàn)樣本集的預測嗅剖,先來看下要要預測的文件信息铭拧。
列信息分別是:當前圖片像棘,其它圖片咨察,標簽(0=同一人嫉父,1=不同人)
先看下單樣本預測代碼:
邏輯就是:遍歷文件沛硅,每次對當前樣本的兩張圖片先進行圖像處理,再通過模型輸出特征绕辖,最后計算歐式距離摇肌,距離越小說明越相似。要注意的就是圖像處理要與模型訓練時保持一致仪际。
看一下測試集預測距離的排序結果:
????從排序結果來看围小,前幾個距離最小的都是同一人,說明模型效果還是很好的树碱,從整個測試集來看肯适,6個測試人物首位均命中,top1命中率100%成榜。
我們再來看下使用dataset進行預測的代碼:
????這個就要先使用dataset框舔,dataloader進行數據的加載,然后每次迭代獲取batch_size個樣本進行批量預測赎婚,準確率跟上面的一致刘绣,這里就不多說了,這里重點說下兩種方法的性能對比挣输。
從性能來看纬凤,批量預測是單樣本預測的10倍速,所以預測樣本多的話盡量使用批量預測方式進行處理歧焦。
?以上就是預測的兩種方式移斩,上面的示例都是基于CPU的運行速度肚医,如果有GPU的話可以開啟GPU加速,性能會更好向瓷。
本節(jié)內容就這些肠套,想下載源碼的可以微信公眾號《桔子的算法之路》回復:孿生網絡模型訓練