調試caffe,用已有的網絡訓練自己的數據集的時候(我這里做的是二分類)。在生成均值文件之后,開始train,發現出現了這個問題。
1,路徑正確,卻讀不到圖片。
[db_lmdb.hpp:15]?Check failed: mdb_status == 0 (2 vs. 0) No such file or directory
?
我發現這check failed的上面有一句話:就是loading file form :data/ilsvrc12/imagenet_mean.binaryproto?
這說明是在找均值文件的時候沒找到。然后,我們看看那些地方涉及到了這個信息。?
我發現,只有這幾個地方涉及到了均值文件。打開 train_val.prototxt把均值文件改為絕對路徑。這下肯定出不了錯誤。最好不用相對路徑描述文件。因為caffe中很多錯誤是由于路徑問題。?
在這之中cat_data是我的詩句存儲的地方。就像mnist一樣。是個文件夾。?
?
再次運行,
可以運行了。
2、磁盤空間不足
Check failed: proto.SerializeToOstream(&output)
解決辦法:查看磁盤空間
我的caffe目錄就在home下。因此,是由于在訓練的時候存儲snapshot沒有了空間。?
釋放掉以一些空間,繼續運行。
3、?明明有文件列表,卻說為空。
- 1
訓練prototxt 文件如下:?
而且txt文件明明有東西。原因在這個圖片。仔細看看發現:data_param有問題。改了image_data_param 即可。
4、?Expected integer or identifier
- 1
- 2
打開我的VGG_CNN_F_train_test.prototxt。找到329,發現沒錯誤。?
解決方法:?
從stackoverflow 上查到了答案。?Your prototxt is malformed with both layer and layers messages.?
發現果然,我的prototxt中新加的一層寫成了layers應該為layer。這是新老caffe版本轉換過程中的一個容易出現的問題。