Proto Merging Error
1. The user message definition conflicts with the AMCT custom layer.
The content of custom.proto is as follows. The QuantParameter layer conflicts with that in amct_custom.proto.
message LayerParameter { optional QuantParameter quant_param = 208; optional ReLU6Parameter relu6_param = 1000000; optional ROIPoolingParameter roi_pooling_param = 8266711; } message ReLU6Parameter { optional float negative_slope = 1 [default = 0]; } message ROIPoolingParameter { // Pad, kernel size, and stride are all given as a single value for equal // dimensions in height and width or as Y, X pairs. optional uint32 pooled_h = 1 [default = 0]; // The pooled output height optional uint32 pooled_w = 2 [default = 0]; // The pooled output width // Multiplicative spatial scale factor to translate ROI coords from their // input scale to the scale used when pooling optional float spatial_scale = 3 [default = 1]; } message QuantParameter { optional bool with_offset = 1; optional float scale = 2; optional bytes offset = 3; optional string object_layer = 4; }
The following error messages are displayed when the proto merging command is executed:
Solution 1
Modify the user message definition as prompted.
2. The custom layer index number defined in LayerParameter conflicts with that of the AMCT.
The content of custom.proto is as follows. The LayerParameter index number defined in custom.proto conflicts with that in amct_custom.proto.
message LayerParameter { optional QuantParameter quant_param = 208; optional ReLU6Parameter relu6_param = 1000000; optional ROIPoolingParameter roi_pooling_param = 8266711; } message ReLU6Parameter { optional float negative_slope = 1 [default = 0]; } message ROIPoolingParameter { // Pad, kernel size, and stride are all given as a single value for equal // dimensions in height and width or as Y, X pairs. optional uint32 pooled_h = 1 [default = 0]; // The pooled output height optional uint32 pooled_w = 2 [default = 0]; // The pooled output width // Multiplicative spatial scale factor to translate ROI coords from their // input scale to the scale used when pooling optional float spatial_scale = 3 [default = 1]; }
The following error messages are displayed when the proto merging command is executed:
Solution 2
Change the index number of the custom operator in custom.proto as prompted.
3. The custom layer index number defined in LayerParameter conflicts with that of the ATC.
The content of custom.proto is as follows. The LayerParameter index number defined in custom.proto conflicts with that in ATC caffe.proto.
message LayerParameter { optional ReLU6Parameter relu6_param = 206; optional ROIPoolingParameter roi_pooling_param = 8266711; } message ReLU6Parameter { optional float negative_slope = 1 [default = 0]; } message ROIPoolingParameter { // Pad, kernel size, and stride are all given as a single value for equal // dimensions in height and width or as Y, X pairs. optional uint32 pooled_h = 1 [default = 0]; // The pooled output height optional uint32 pooled_w = 2 [default = 0]; // The pooled output width // Multiplicative spatial scale factor to translate ROI coords from their // input scale to the scale used when pooling optional float spatial_scale = 3 [default = 1]; }
The following error messages are displayed when the proto merging command is executed:
Solution 3
Change the index number of the custom operator in custom.proto as prompted.
4. The user message definition conflicts with the ATC custom layer.
The content of custom.proto is as follows. The NormalizeParameter layer conflicts with that in caffe.proto.
message LayerParameter { optional ReLU6Parameter relu6_param = 1000000; optional ROIPoolingParameter roi_pooling_param = 8266711; optional NormalizeParameter norm_param = 206; } message ReLU6Parameter { optional float negative_slope = 1 [default = 0]; } message ROIPoolingParameter { // Pad, kernel size, and stride are all given as a single value for equal // dimensions in height and width or as Y, X pairs. optional uint32 pooled_h = 1 [default = 0]; // The pooled output height optional uint32 pooled_w = 2 [default = 0]; // The pooled output width // Multiplicative spatial scale factor to translate ROI coords from their // input scale to the scale used when pooling optional float spatial_scale = 3 [default = 1]; } message NormalizeParameter { optional bool across_spatial = 1 [default = true]; // Initial value of scale. Default is 1.0 for all optional FillerParameter scale_filler = 2; // Whether or not scale parameters are shared across channels. optional bool channel_shared = 3 [default = true]; // Epsilon for not dividing by zero while normalizing variance optional float eps = 4 [default = 1e-10]; }
No error message is displayed when the proto merging command is run. By default, the custom.proto file prevails and the ATC built-in message definition is overwritten. The following messages are displayed.
Solution 4
None
- 1. The user message definition conflicts with the AMCT custom layer.
- Solution 1
- 2. The custom layer index number defined in LayerParameterconflicts with that of the AMCT.
- Solution 2
- 3. The custom layer index number defined in LayerParameterconflicts with that of the ATC.
- Solution 3
- 4. The user message definition conflicts with the ATC custom layer.
- Solution 4