2015-09-10 58 views
0

我想使用Caffe提取圖像特徵。但是,處理圖像需要很長時間,所以我正在尋找優化速度的方法。減少Caffe網絡模型

我注意到的一件事是,我使用的網絡定義有四個額外的層,我從中讀取結果(並且沒有反饋信號,因此它們應該安全刪除)。

我試圖從定義文件中刪除它們,但它根本沒有任何效果。我想我可能需要刪除包含預先訓練權重的文件的相應部分。不過,編輯它的二進制文件(protobuffer)並不那麼容易。

您是否認爲移除這四層可能會對網絡性能產生深遠影響?

如果是這樣,那麼我如何熟悉文件內容以便我可以編輯它,以及如何知道要刪除哪些部分?

回答

2

首先,我不認爲去除二進制權重會有任何影響。
其次,您可以使用python界面輕鬆完成:請參閱this tutorial
最後但並非最不重要,您是否嘗試過運行caffe time來衡量您的網絡性能?這可以幫助您識別計算的瓶頸。

PS, 您可能也會發現this thread也是相關的。

0

Caffemodel將數據存儲爲鍵值對。 Caffe只複製與caffemodel名稱完全相同的圖層(在train.prototxt中)。因此我不認爲去除二進制權重是可行的。如果您想更改網絡結構,只需修改train.prototxt和deploy.txt。

如果您堅持從二進制文件中移除權重,請按照此caffe example

爲了確保你刪除了正確的部分,這個visualizing tool應該有所幫助。