最近突然需要需要將之前的模型載入並進行訓練,發現出錯,就趕緊排查
i0328 09:35:34.497181 6268 layer_factory.hpp:76] creating layer data
i0328 09:35:34.509884 6268 net.cpp:106] creating layer data
i0328 09:35:34.511267 6268 net.cpp:411] data -> data
i0328 09:35:34.512292 6268 net.cpp:411] data -> label
i0328 09:35:34.513456 6268 data_transformer.cpp:25] loading mean file from: data/eggs2/myfile/trains_means.binaryproto
f0328 09:35:34.556646 6270 db_lmdb.hpp:14] check failed: mdb_status == 0 (2 vs. 0) no such file or directory
*** check failure stack trace: ***
@ 0x7ff172b99daa (unknown)
@ 0x7ff172b99ce4 (unknown)
@ 0x7ff172b996e6 (unknown)
@ 0x7ff172b9c687 (unknown)
@ 0x7ff173023fae caffe::db::lmdb::open()
@ 0x7ff172f542a4 caffe::datareader::body::internalthreadentry()
@ 0x7ff17033ca4a (unknown)
@ 0x7ff16fbf4182 start_thread
@ 0x7ff171f8047d (unknown)
@ (nil) (unknown)
這個產生的原因是路徑不對,但是看了一下路徑是對的,後來在網上看到有人解釋,就去試了一下,發現
原因有兩個,一是檢查mean.binaryproto和生成的img_train_lmdb路徑是否是正確的。
二是檢查caffe的使用者是root還是caffe,這個會影響到的,如果安裝的時候是caffe的上述的兩個檔案是要caffe使用者的。
將檔案放置到caffe使用者下就可以了
chown -r caffe:caffe mean.binaryproto
chown -r caffe:caffe img_train_lmdb
在此處我就踩上了第二個坑,發現之前的caffe是caffe使用者安裝的,後面用了root使用者來操作,caffe當然找不到上述的mean.binaryproto和img_train_lmdb。
caffe訓練自己的資料時的錯誤
root wzy ubuntu home wzy caffe master sh examples wzy create meanfile.sh f0821 16 03 04.561220 17469 db lmdb.hpp 15 check failed mdb status 0 2 vs.0 n...
一些編碼時的老錯誤
編譯時 1.定義結構體時沒加分號。2.指標取位址沒加 runtime error 1.scanf 沒加 2.環斷成鏈或者前向星存無向邊的時候陣列開的太小 wrong answer 1.1左移30位以上 沒強制轉換成 long long 2.if 裡 用 沒考慮優先順序,比如 if 2 3 1 應該寫...
caffe輸出分類訓練時驗證集識別錯誤的樣本
本文以mnist以及lenet為例 void accuracylayer forward cpu const vector bottom,const vector top else void solver test const int test net id examples mnist train...