Tongcheng / DN_CaffeScript

128 stars 58 forks source link

关于Tongcheng/DN_CaffeScript精简版DenseNet 可以正常训练但无法测试,测试报错 "caffe.LayerParameter" has no field named "denseblock_param". #22

Open sytow opened 6 years ago

sytow commented 6 years ago

从TongCheng处下载得到DenseNet 的caffe精简版本,正常mkdir build,cd build 后cmake .. , make all, make pycaffe, make test但是make runtest就会在DenseBlock处报错,错误信息是超过error margin一类的错误。 尽管runtest报错,但是我尝试进行模型训练发现并无影响,于是训练得到自己的模型然后想通过python测试一下性能,写了一个test_model.py,但是测试时报错如下:

$ python test_model.py test_0.1.txt WARNING: Logging before InitGoogleLogging() is written to STDERR W0504 11:01:52.860939 8205 _caffe.cpp:139] DEPRECATION WARNING - deprecated use of Python interface W0504 11:01:52.860967 8205 _caffe.cpp:140] Use this instead (with the named "weights" parameter): W0504 11:01:52.860972 8205 _caffe.cpp:142] Net('/home/sunyu/caffe-master/data/mydata/deploy.prototxt', 1, weights='/home/sunyu/caffe-master/data/mydata/Dense_EXP_1/my_regression_iter_35000.caffemodel') [libprotobuf ERROR google/protobuf/text_format.cc:274] Error parsing text-format caffe.NetParameter: 56:20: Message type "caffe.LayerParameter" has no field named "denseblock_param". F0504 11:01:52.862316 8205 upgrade_proto.cpp:90] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: /home/sunyu/caffe-master/data/mydata/deploy.prototxt

我好奇为什么会单单在test阶段报错找不到 "denseblock_param",而训练过程都没有问题呢??又该如何解决??恳请大家赐教!

sytow commented 6 years ago

补充 : 目前发现实际上是使用caffe.bin进行训练测试都没问题,但是无法使用python接口进行训练和测试。编译过pycaffe也成功了,但是好像通过python接口import的caffe不含有DenseBlock层??为什么??恳请大家赐教~