From 13547ef25c88e741deb7ada51beba146f791b352 Mon Sep 17 00:00:00 2001 From: yiicy Date: Wed, 8 Aug 2018 13:49:39 +0800 Subject: [PATCH 1/7] some change --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad2124d2a..414aa7504 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,7 +56,7 @@ anakin_option(ANAKIN_TYPE_INT8 "define the INT8 for data precision." NO) #select the plantform to build anakin_option(USE_GPU_PLACE "Select the build mode for GPU place." YES) -anakin_option(USE_X86_PLACE "Select the build mode for X86 place." YES) +anakin_option(USE_X86_PLACE "Select the build mode for X86 place." NO) anakin_option(USE_ARM_PLACE "Select the build mode for ARM place." NO) # plantfrom details @@ -91,7 +91,7 @@ anakin_option(COMPILE_PTX "Returns a list of PTX files generated from src." NO i # common build options -anakin_option(ENABLE_DEBUG "Enable DEBUG(default) mode." NO) +anakin_option(ENABLE_DEBUG "Enable DEBUG(default) mode." YES) anakin_option(ENABLE_VERBOSE_MSG "Enable verbose=1 : compile msg during make." NO) anakin_option(DISABLE_ALL_WARNINGS "Disable all the warning msg during compile." YES) anakin_option(ENABLE_NOISY_WARNINGS "Enable noisy warning msg during compile." NO if DISABLE_ALL_WARNINGS) From 86a05472dd5aa3650accce68279a54c3f1c1fce1 Mon Sep 17 00:00:00 2001 From: yiicy Date: Wed, 8 Aug 2018 19:00:10 +0800 Subject: [PATCH 2/7] repair detect out shape --- saber/funcs/detection_output.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/saber/funcs/detection_output.h b/saber/funcs/detection_output.h index 182bf6d8d..62810f682 100644 --- a/saber/funcs/detection_output.h +++ b/saber/funcs/detection_output.h @@ -72,7 +72,7 @@ class DetectionOutput : public BaseFunc< CHECK_EQ(shape_out.dims(), 4) << "only support 4d layout"; shape_out[0] = 1; shape_out[1] = 1; - shape_out[2] = param.keep_top_k; + shape_out[2] = param.keep_top_k * input[0]->num(); shape_out[3] = 7; return output[0]->set_shape(shape_out); From 80d7e118bc488b78444c4d798348ccfccb0fc35a Mon Sep 17 00:00:00 2001 From: yiicy Date: Wed, 8 Aug 2018 19:05:25 +0800 Subject: [PATCH 3/7] repair cmake --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 414aa7504..e1f9ba682 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,7 +91,7 @@ anakin_option(COMPILE_PTX "Returns a list of PTX files generated from src." NO i # common build options -anakin_option(ENABLE_DEBUG "Enable DEBUG(default) mode." YES) +anakin_option(ENABLE_DEBUG "Enable DEBUG(default) mode." NO) anakin_option(ENABLE_VERBOSE_MSG "Enable verbose=1 : compile msg during make." NO) anakin_option(DISABLE_ALL_WARNINGS "Disable all the warning msg during compile." YES) anakin_option(ENABLE_NOISY_WARNINGS "Enable noisy warning msg during compile." NO if DISABLE_ALL_WARNINGS) From f06f7a82814ea0f4dc304e957803a543b2329292 Mon Sep 17 00:00:00 2001 From: yiicy Date: Thu, 23 Aug 2018 11:36:01 +0800 Subject: [PATCH 4/7] parser support depthwiseconv --- .../kill_caffe/caffe_layer_param_transmit.py | 70 ++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py index 7fb4ca159..0bd828ac1 100755 --- a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py +++ b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py @@ -292,6 +292,73 @@ def Parser_convolution(args): OpsRegister()["Convolution"].axis = 1 OpsRegister()["Convolution"].bias_term = convolution_param.bias_term +@ParserFeedDecorator("Convolution") +def Parser_convolutiondepthwise(args): + layer = args[1] + # parser caffe parameter + convolution_param = layer.convolution_param + OpsRegister()["Convolution"].filter_num = convolution_param.num_output + kernel_size = [] + if type(convolution_param.kernel_size) == repeat_container: # support for old version caffe proto + if len(convolution_param.kernel_size): + if len(convolution_param.kernel_size) == 1: + kernel_size = list([convolution_param.kernel_size[0], convolution_param.kernel_size[0]]) + else: + kernel_size = list(convolution_param.kernel_size) + else: + kernel_size = [convolution_param.kernel_h, convolution_param.kernel_w] + elif convolution_param.kernel_size > 0: + kernel_size = list([convolution_param.kernel_size, convolution_param.kernel_size]) + else: + kernel_size = [convolution_param.kernel_h, convolution_param.kernel_w] + OpsRegister()["Convolution"].kernel_size = kernel_size + strides = [] + if type(convolution_param.stride) == repeat_container: + if len(convolution_param.stride): + if len(convolution_param.stride) == 1: + strides = list([convolution_param.stride[0], convolution_param.stride[0]]) + else: + strides = list(convolution_param.stride) + else: + strides = [convolution_param.stride_h, convolution_param.stride_w] + elif convolution_param.stride > 0: + strides = [convolution_param.stride, convolution_param.stride] + else: + strides = [convolution_param.stride_h, convolution_param.stride_w] + if strides[0] == 0: + strides[0] = 1 + strides[1] = 1 + OpsRegister()["Convolution"].strides = strides + paddings = [] + if type(convolution_param.pad) == repeat_container: + if len(convolution_param.pad): + if len(convolution_param.pad) == 1: + paddings = list([convolution_param.pad[0], convolution_param.pad[0]]) + else: + paddings = list(convolution_param.pad) + else: + paddings = [convolution_param.pad_h, convolution_param.pad_w] + elif convolution_param.pad > 0: + paddings = list([convolution_param.pad, convolution_param.pad]) + else: + paddings = [convolution_param.pad_h, convolution_param.pad_w] + OpsRegister()["Convolution"].padding = paddings + if is_has_proto_key(convolution_param, "dilation"): + if len(convolution_param.dilation) == 0: + OpsRegister()["Convolution"].dilation_rate = list([1, 1]) + elif len(convolution_param.dilation) == 1: + OpsRegister()["Convolution"].dilation_rate = list([convolution_param.dilation[0], convolution_param.dilation[0]]) + else: + OpsRegister()["Convolution"].dilation_rate = list(convolution_param.dilation) + else: + OpsRegister()["Convolution"].dilation_rate = list([1, 1]) + OpsRegister()["Convolution"].group = convolution_param.num_output + if is_has_proto_key(convolution_param, "axis"): + OpsRegister()["Convolution"].axis = convolution_param.axis + else: + OpsRegister()["Convolution"].axis = 1 + OpsRegister()["Convolution"].bias_term = convolution_param.bias_term + @ParserFeedDecorator("Cropping") def Parser_crop(args): @@ -1073,7 +1140,8 @@ def Parser_relu6(args): "Concat": OpsParam().set_parser(Parser_concat), "ContrastiveLoss": OpsParam().set_parser(NotNeededInInference), "Convolution": OpsParam().set_parser(Parser_convolution), - "ConvolutionDepthwise": OpsParam().set_parser(Parser_convolution), + "ConvolutionDepthwise": OpsParam().set_parser(Parser_convolutiondepthwise), + "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), "Deconvolution": OpsParam().set_parser(Parser_deconvolution), "DeformableConvolution": OpsParam().set_parser(Parser_deformable_convolution), "Crop": OpsParam().set_parser(Parser_crop), From af4dc730ffc2d85b3d9e02073e83b2788dabdd3e Mon Sep 17 00:00:00 2001 From: yiicy Date: Thu, 23 Aug 2018 11:57:55 +0800 Subject: [PATCH 5/7] parser support depthwiseconv --- .../parser/kill_caffe/caffe_layer_param_transmit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py index 0bd828ac1..d6de4ed32 100755 --- a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py +++ b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py @@ -1141,7 +1141,7 @@ def Parser_relu6(args): "ContrastiveLoss": OpsParam().set_parser(NotNeededInInference), "Convolution": OpsParam().set_parser(Parser_convolution), "ConvolutionDepthwise": OpsParam().set_parser(Parser_convolutiondepthwise), - "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), + "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), "Deconvolution": OpsParam().set_parser(Parser_deconvolution), "DeformableConvolution": OpsParam().set_parser(Parser_deformable_convolution), "Crop": OpsParam().set_parser(Parser_crop), From 9413f5b2947034e82342da165f0a7205b9bdd3d0 Mon Sep 17 00:00:00 2001 From: yiicy Date: Thu, 23 Aug 2018 12:09:33 +0800 Subject: [PATCH 6/7] repare code format --- .../parser/kill_caffe/caffe_layer_param_transmit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py index d6de4ed32..0bd828ac1 100755 --- a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py +++ b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py @@ -1141,7 +1141,7 @@ def Parser_relu6(args): "ContrastiveLoss": OpsParam().set_parser(NotNeededInInference), "Convolution": OpsParam().set_parser(Parser_convolution), "ConvolutionDepthwise": OpsParam().set_parser(Parser_convolutiondepthwise), - "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), + "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), "Deconvolution": OpsParam().set_parser(Parser_deconvolution), "DeformableConvolution": OpsParam().set_parser(Parser_deformable_convolution), "Crop": OpsParam().set_parser(Parser_crop), From c29d6ee87bc4a7ded3488443180a399ff4cb2c7f Mon Sep 17 00:00:00 2001 From: yiicy Date: Thu, 23 Aug 2018 12:11:48 +0800 Subject: [PATCH 7/7] format repair.. --- .../parser/kill_caffe/caffe_layer_param_transmit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py index 0bd828ac1..6a8169231 100755 --- a/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py +++ b/tools/external_converter_v2/parser/kill_caffe/caffe_layer_param_transmit.py @@ -1141,7 +1141,7 @@ def Parser_relu6(args): "ContrastiveLoss": OpsParam().set_parser(NotNeededInInference), "Convolution": OpsParam().set_parser(Parser_convolution), "ConvolutionDepthwise": OpsParam().set_parser(Parser_convolutiondepthwise), - "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), + "DepthwiseConvolution": OpsParam().set_parser(Parser_convolutiondepthwise), "Deconvolution": OpsParam().set_parser(Parser_deconvolution), "DeformableConvolution": OpsParam().set_parser(Parser_deformable_convolution), "Crop": OpsParam().set_parser(Parser_crop),