You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2018/11/30 14:14:10 UTC
[GitHub] devymex opened a new issue #13485: Found bug in caffe convert tool
and solved
devymex opened a new issue #13485: Found bug in caffe convert tool and solved
URL: https://github.com/apache/incubator-mxnet/issues/13485
With following prototxt, the "_parse_proto" function will return empty "output_name"
```
With a prototxt:
layer {
name: "data"
type: "Input"
top: "data"
input_param {
shape {
dim: 1
dim: 3
dim: 128
dim: 128
}
}
}
layer {
name: "test"
type: "InnerProduct"
bottom: "data"
top: "output"
inner_product_param {
num_output: 128
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 1
}
}
}
layer {
name: "sigmoid"
type: "Sigmoid"
bottom: "output"
top: "output"
}
```
It is because the last layer "sigmoid" has identical bottom and top, making the "_output_name['output']['count']" equals to 2:
https://github.com/apache/incubator-mxnet/blob/9adf2148322547d36dd90045647122a4ea649661/tools/caffe_converter/convert_symbol.py#L152
https://github.com/apache/incubator-mxnet/blob/9adf2148322547d36dd90045647122a4ea649661/tools/caffe_converter/convert_symbol.py#L157
Then it failed to pass the condition in:
https://github.com/apache/incubator-mxnet/blob/9adf2148322547d36dd90045647122a4ea649661/tools/caffe_converter/convert_symbol.py#L292
Finally, I adding a condition before the two loops and the problem solved:
```
if layer.bottom != layer.top:
for k in range(len(layer.bottom)):
if layer.bottom[k] in _output_name:
_output_name[layer.bottom[k]]['count'] = _output_name[layer.bottom[k]]['count']+1
else:
_output_name[layer.bottom[k]] = {'count':0}
for k in range(len(layer.top)):
if layer.top[k] in _output_name:
_output_name[layer.top[k]]['count'] = _output_name[layer.top[k]]['count']+1
else:
_output_name[layer.top[k]] = {'count':0, 'name':name}
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services