最近突然需要需要将之前的模型加载并进行训练,发现出错,就赶紧排查
I0328 09:35:34.497181 6268 layer_factory.hpp:76] Creating layer data
I0328 09:35:34.509884 6268 net.cpp:106] Creating Layer dataI0328 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。