In pertained models like GoogleNet https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
we can see two .prototxt file describing the network, what's the differences between them?
My key question is , in python interface, why can I only use the former one? That is to say:
model_def = caffe_root + 'models/bvlc_googlenet/deploy.prototxt'
model_weights = caffe_root + 'models/bvlc_googlenet/bvlc_googlenet.caffemodel'
net = caffe.Net(model_def,model_weights,caffe.TEST)
this code runs correct while:
model_def = caffe_root + 'models/bvlc_googlenet/train_val.prototxt'
model_weights = caffe_root + 'models/bvlc_googlenet/bvlc_googlenet.caffemodel'
net = caffe.Net(model_def,model_weights,caffe.TEST)
this does not. and it gives out error information:
layer {
name: "inception_4e/relu_5x5_reduce"
type: "ReLU"
bottom: "inception_4e/5x5_reduce"
top: "inception_4e/5x5_reduce"
}
layer {
I0805 10:15:13.698256 30930 layer_factory.hpp:77] Creating layer data
I0805 10:15:13.698444 30930 net.cpp:100] Creating Layer data
I0805 10:15:13.698465 30930 net.cpp:408] data -> data
I0805 10:15:13.698514 30930 net.cpp:408] data -> label
F0805 10:15:13.699956 671 db_lmdb.hpp:15] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory
*** Check failure stack trace: ***
Why? what's the differences?