|
|
|
@@ -158,12 +158,11 @@ void ConvDwC8Fp16(float16_t *output_data, const float16_t *input_data, const flo |
|
|
|
const float16_t *in_t = src_data + in_h_start * sliding->in_h_step_ + in_w_start * sliding->block_channel_; |
|
|
|
float16_t *out_t = dst_data + sliding->top_ * sliding->out_h_step_ + sliding->left_ * sliding->block_channel_; |
|
|
|
#ifdef ENABLE_ARM64 |
|
|
|
ConvDwFp16Center(out_t, in_t, weight, bias, sliding->bottom_ - sliding->top_, |
|
|
|
sliding->right_ - sliding->left_, conv_param->kernel_h_, conv_param->kernel_w_, |
|
|
|
sliding->out_h_step_ * sizeof(float16_t), sliding->block_channel_ * sizeof(float16_t), |
|
|
|
sliding->in_sh_step_ * sizeof(float16_t), sliding->in_sw_step_ * sizeof(float16_t), |
|
|
|
sliding->in_kh_step_ * sizeof(float16_t), sliding->in_kw_step_ * sizeof(float16_t), |
|
|
|
conv_param->is_relu_, conv_param->is_relu6_); |
|
|
|
ConvDwFp16Center(out_t, in_t, weight, bias, sliding->bottom_ - sliding->top_, sliding->right_ - sliding->left_, |
|
|
|
conv_param->kernel_h_, conv_param->kernel_w_, sliding->out_h_step_ * sizeof(float16_t), |
|
|
|
sliding->block_channel_ * sizeof(float16_t), sliding->in_sh_step_ * sizeof(float16_t), |
|
|
|
sliding->in_sw_step_ * sizeof(float16_t), sliding->in_kh_step_ * sizeof(float16_t), |
|
|
|
sliding->in_kw_step_ * sizeof(float16_t), conv_param->is_relu_, conv_param->is_relu6_); |
|
|
|
#else |
|
|
|
DepthwiseCenterFp16(out_t, in_t, weight, bias, sliding->bottom_ - sliding->top_, |
|
|
|
sliding->right_ - sliding->left_, conv_param->kernel_h_, conv_param->kernel_w_, |
|
|
|
@@ -313,11 +312,11 @@ void DeconvDwC8Fp16(float16_t *output_data, const float16_t *input_data, const f |
|
|
|
const float16_t *in_t = |
|
|
|
src_data + sliding->top_ * sliding->out_h_step_ + sliding->left_ * sliding->block_channel_; |
|
|
|
#ifdef ENABLE_ARM64 |
|
|
|
DeconvDwFp16Center(out_t, in_t, weight, sliding->bottom_ - sliding->top_, |
|
|
|
sliding->right_ - sliding->left_, conv_param->kernel_h_, conv_param->kernel_w_, |
|
|
|
sliding->out_h_step_ * sizeof(float16_t), sliding->block_channel_ * sizeof(float16_t), |
|
|
|
sliding->in_sh_step_ * sizeof(float16_t), sliding->in_sw_step_ * sizeof(float16_t), |
|
|
|
sliding->in_kh_step_ * sizeof(float16_t), sliding->in_kw_step_ * sizeof(float16_t)); |
|
|
|
DeconvDwFp16Center(out_t, in_t, weight, sliding->bottom_ - sliding->top_, sliding->right_ - sliding->left_, |
|
|
|
conv_param->kernel_h_, conv_param->kernel_w_, sliding->out_h_step_ * sizeof(float16_t), |
|
|
|
sliding->block_channel_ * sizeof(float16_t), sliding->in_sh_step_ * sizeof(float16_t), |
|
|
|
sliding->in_sw_step_ * sizeof(float16_t), sliding->in_kh_step_ * sizeof(float16_t), |
|
|
|
sliding->in_kw_step_ * sizeof(float16_t)); |
|
|
|
#else |
|
|
|
DeconvDepthwiseCenterFp16(out_t, in_t, weight, sliding->bottom_ - sliding->top_, |
|
|
|
sliding->right_ - sliding->left_, conv_param->kernel_h_, conv_param->kernel_w_, |