Windows下載入CAFFE模型的問題

2021-08-08 03:54:53 字數 1012 閱讀 3466

但在測試過程中,碰到以下問題:

錯誤資訊來自:src/caffe/net.cpp中的copytrainedlayersfrom(const netparameter& param)函式,表明載入模型出現了問題。

1、模型會不會與訓練**不匹配?

這個模型是用同樣的caffe**在linux環境下訓練的,在linux下測試也沒有問題,排除了模型不匹配的問題。

2、**在windows和linux下有什麼不同?

caffe.pb.h和caffe.pb.cc是在windows下重新生成的,差別只在這裡了。懷疑protobuf的版本不一致導致的問題,都換為2.5.0版本後,問題仍然存在。

還有一些函式,open/close等,還有一些被注釋了的變數,如果有問題,只可能出現在這裡了。

* 解決方法 *

在除錯過程中,試著載入了幾個不同的模型,發現函式中的copytrainedlayersfrom中param.layer_size() 都非常小,跟模型的網路層差距很大,問題的原因:模型沒有載入完全,導致後續的解析錯誤。

參照windows下用caffe載入二進位制模型(linux下訓練)的問題,很快就找到了問題所在,src/util/io.cpp函式中:

int fd = open(filename, o_rdonly);
open函式使用o_rdonly在linux下載入二進位制模型沒有問題,但在windows下載入二進位制模型需要加入o_binary選項:

int fd = open(filename, o_rdonly|o_binary);
重新編譯後,執行成功。

其實如果採用官方的caffe-windows是肯定不會出現上述問題的,無奈自己挖的坑含著淚也要填完。不過在這次糾錯過程中,仔細看了之前從來沒有注意的caffe原始碼中的一些細節,也算是因禍得福。

在windows下配置caffe

安裝環境 win7 64bit vs2012 安裝步驟 安裝 cuda6.5 3.解壓caffe原始碼,解壓dependency,分別將dependency根資料夾內三個資料夾的內容分別解壓到caffe中對應的資料夾內 4.執行 bulid mainbulider.sln,將vs的生成物件設定為64...

關於Windows下安裝caffe

目前只為練手,因此只用cpu練習。配環境。等cpu上面熟練了再練習安裝cuda。先說目前遇到的bug。2.我用的visual studio2013 ultimate版本。3.進入解壓的caffe master commonsettings.props.example重名名為commonsetting...

windows下caffe中python介面的編譯

最近研究fcn時需要編譯caffe的python介面。折騰了好幾天,遇到了不少問題,總結下吧,以後說不定還會遇到。問題1 編譯時遇到 errorc1905 前端和後端不相容 必須以同一處理器為目標 分析 這個是要要編譯win32的平台,卻呼叫了x64的庫造成的。我的windows是64位,裝的pyt...