Caffe: normalize_bbox_param

I'm trying to convert a caffe model to Core ML but I'm getting this error:

Message type "caffe.LayerParameter" has no field named "normalize_bbox_param".


What should I do?

Accepted Reply

Thanks for trying out the Beta! Models trained using standard Caffe installation will convert with Core ML converters, but from the logs, it looks like you might be using a different fork of Caffe. “normalize_bbox_param” or “norm_param” is a parameter belonging to a layer called “NormalizeBBox". This version of caffe seems to have come from here: https://github.com/opencv/opencv_contrib/blob/master/modules/dnn/src/caffe/caffe.proto, which is different from the BVLC Caffe.


Core ML supports the official version of caffe: http://caffe.berkeleyvision.org and the list of layers in BVLC Caffe are available here: https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto

Note: It looks like the parameters “normalize_bbox_param” and “norm_param” are the same parameters with different names on different forks of Caffe: https://github.com/opencv/opencv_contrib/issues/935

Replies

Are you working on R-CNN / SSD Networks?

Thanks for trying out the Beta! Models trained using standard Caffe installation will convert with Core ML converters, but from the logs, it looks like you might be using a different fork of Caffe. “normalize_bbox_param” or “norm_param” is a parameter belonging to a layer called “NormalizeBBox". This version of caffe seems to have come from here: https://github.com/opencv/opencv_contrib/blob/master/modules/dnn/src/caffe/caffe.proto, which is different from the BVLC Caffe.


Core ML supports the official version of caffe: http://caffe.berkeleyvision.org and the list of layers in BVLC Caffe are available here: https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto

Note: It looks like the parameters “normalize_bbox_param” and “norm_param” are the same parameters with different names on different forks of Caffe: https://github.com/opencv/opencv_contrib/issues/935