| 16 | namespace { |
| 17 | |
| 18 | param::Convolution get_param_convolution(const ConvBiasImpl::NCBKernSizeParam& param) { |
| 19 | param::Convolution::Mode mode; |
| 20 | param::Convolution::Sparse sparse; |
| 21 | if (param.filter_meta.should_flip) { |
| 22 | mode = param::Convolution::Mode::CONVOLUTION; |
| 23 | } else { |
| 24 | mode = param::Convolution::Mode::CROSS_CORRELATION; |
| 25 | } |
| 26 | return param::Convolution{ |
| 27 | mode, |
| 28 | param.filter_meta.padding[0], |
| 29 | param.filter_meta.padding[1], |
| 30 | param.filter_meta.stride[0], |
| 31 | param.filter_meta.stride[1], |
| 32 | param.filter_meta.dilation[1], |
| 33 | param.filter_meta.dilation[0], |
| 34 | sparse = param::Convolution::Sparse::DENSE, |
| 35 | param.filter_meta.format}; |
| 36 | } |
| 37 | |
| 38 | TensorLayoutArray get_layouts(const ConvBiasImpl::NCBKernSizeParam& p) { |
| 39 | megdnn_assert(p.filter_meta.format == param::ConvBias::Format::NCHW); |
no outgoing calls
no test coverage detected