X2Paddle icon indicating copy to clipboard operation
X2Paddle copied to clipboard

Message type "caffe.DropoutParameter" has no field named "scale_train"

Open hurui79 opened this issue 3 years ago • 6 comments

感谢您参与 X2Paddle 社区! 问题模版为了 X2Paddle 能更好的迭代,例如新功能发布、 RoadMaps 和错误跟踪. :smile_cat:

问题描述

  • google.protobuf.text_format.ParseError: 318:5 : Message type "caffe.DropoutParameter" has no field named "scale_train".
  • INFO:root:paddle.version = 2.1.0 INFO:root:Now translating model from caffe to paddle. Traceback (most recent call last): File "d:\program files\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "d:\program files\python39\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "D:\Program Files\Python39\Scripts\x2paddle.exe_main.py", line 7, in File "d:\program files\python39\lib\site-packages\x2paddle\convert.py", line 339, in main caffe2paddle( File "d:\program files\python39\lib\site-packages\x2paddle\convert.py", line 183, in caffe2paddle model = CaffeDecoder(proto_file, weight_file, caffe_proto) File "d:\program files\python39\lib\site-packages\x2paddle\decoder\caffe_decoder.py", line 290, in init text_format.Merge(proto_str, self.net) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 731, in Merge return MergeLines( File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 805, in MergeLines return parser.MergeLines(lines, message) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 830, in MergeLines self._ParseOrMerge(lines, message) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 852, in _ParseOrMerge self._MergeField(tokenizer, message) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 982, in _MergeField merger(tokenizer, message, field) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 1057, in _MergeMessageField self._MergeField(tokenizer, sub_message) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 982, in _MergeField merger(tokenizer, message, field) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 1057, in _MergeMessageField self._MergeField(tokenizer, sub_message) File "d:\program files\python39\lib\site-packages\google\protobuf\text_format.py", line 947, in _MergeField raise tokenizer.ParseErrorPreviousToken( google.protobuf.text_format.ParseError: 318:5 : Message type "caffe.DropoutParameter" has no field named "scale_train".

具体信息

  • 转换模型后用处
    • 使用 Paddle 框架/ PaddleInference 推理预测
  • 模型来源 caffe模型。
  • 应用场景 用于服务端业务下的检测业务
  • 版本信息 PaddlePaddle => :grey_question:2.1 X2Paddle => :grey_question:1.3.5 来源框架版本(Caffe) => :grey_question:不清楚
  • 您的联系方式(邮箱/微信/电话) 微信:hurui79

caffe模型地址: 链接:https://pan.baidu.com/s/1lKyvx6tplZD7OSXqSomImQ 提取码:zwqm

hurui79 avatar Feb 08 '22 05:02 hurui79

@390029659 您好,看起来像caffe版本问题,检查一下模型对应caffe版本吧~

wjj19950828 avatar Feb 08 '22 15:02 wjj19950828

@390029659 您好,看起来像caffe版本问题,检查一下模型对应caffe版本吧~

QQ截图20220209092042 可是安装依赖并不需要安装caffe,我需要在本地也安装相应的caffe么? @wjj19950828

hurui79 avatar Feb 09 '22 01:02 hurui79

@390029659 您好,看起来像caffe版本问题,检查一下模型对应caffe版本吧~ 您好这回信息又变了(我把protxt 里面的scale_train都注释掉了),求帮忙给看看@wjj19950828 INFO:root:paddle.version = 2.1.0 INFO:root:Now translating model from caffe to paddle. The filter layer:drop6 The filter layer:drop7 Traceback (most recent call last): File "d:\program files\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "d:\program files\python39\lib\runpy.py", line 87, in run_code exec(code, run_globals) File "D:\Program Files\Python39\Scripts\x2paddle.exe_main.py", line 7, in File "d:\program files\python39\lib\site-packages\x2paddle\convert.py", line 339, in main caffe2paddle( File "d:\program files\python39\lib\site-packages\x2paddle\convert.py", line 183, in caffe2paddle model = CaffeDecoder(proto_file, weight_file, caffe_proto) File "d:\program files\python39\lib\site-packages\x2paddle\decoder\caffe_decoder.py", line 296, in init self.caffe_graph.build() File "d:\program files\python39\lib\site-packages\x2paddle\decoder\caffe_decoder.py", line 252, in build self.set_node_shape(node) File "d:\program files\python39\lib\site-packages\x2paddle\decoder\caffe_decoder.py", line 277, in set_node_shape node.out_shapes = getattr(caffe_shape_inference, func_name)(node.layer, AttributeError: module 'x2paddle.decoder.caffe_shape_inference' has no attribute 'shape_python'

hurui79 avatar Feb 09 '22 08:02 hurui79

错误信息这回到我最开始的的时候出现的了 Message type "caffe.LayerParameter" has no field named "input_param" @wjj19950828 就很绝望。。。。 QQ截图20220209171754

hurui79 avatar Feb 09 '22 09:02 hurui79

@390029659 您好~

第一个问题,"scale_train"问题将deploy.prototxt中的相关信息注释到即可,因为dropout不影响预测

第二个问题,因为您提供的模型有自定义层proposal,所以必须使用自己环境的caffe_proto

第三个问题,关于“input_param”,这个也是与caffe版本相关,必须使用您使用的fast-rcnn repo,使用相应caffe版本,参考https://github.com/rbgirshick/fast-rcnn/issues/1

但是个人推荐因为模型较为经典:FasterRcnn,因为要使用Paddle部署,可使用PaddleDetection或者PaddleX,训练部署一体化~

wjj19950828 avatar Feb 13 '22 08:02 wjj19950828

6f875ee2403e01082de0107ae721fc2 @wjj19950828

hurui79 avatar Feb 28 '22 02:02 hurui79