57 {
58 if (!_prepared)
59 {
60
61 IsRequiredIm2col(input_shape, filter_shape,
output_shape, params.stride_width,
62 params.stride_height, params.dilation_width_factor,
63 params.dilation_height_factor);
64 _prepared = true;
65 }
66
67 int im2col_size = _need_im2col ? _im2col_shape.
FlatSize() : 0;
68 std::vector<float> im2col_data(im2col_size);
69 if (im2col_size > 0)
70 {
71 ConvFloat(params, input_shape, input_data, filter_shape, filter_data, bias_shape, bias_data,
72 output_shape, output_data, _im2col_shape, im2col_data.data(), ruy_context);
73 }
74 else
75 {
76 ConvFloat(params, input_shape, input_data, filter_shape, filter_data, bias_shape, bias_data,
77 output_shape, output_data, _im2col_shape,
nullptr, ruy_context);
78 }
79 }
const luci_interpreter::RuntimeShape output_shape