MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / validate_arguments

Function validate_arguments

src/cpu/operators/CpuWinogradConv2d.cpp:70–89  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68}
69
70Status validate_arguments(const ITensorInfo *src,
71 const ITensorInfo *weights,
72 const ITensorInfo *biases,
73 const ITensorInfo *dst,
74 const PadStrideInfo &conv_info)
75{
76 ARM_COMPUTE_UNUSED(dst, weights);
77 ARM_COMPUTE_RETURN_ERROR_ON_CPU_F16_UNSUPPORTED(src);
78
79 ARM_COMPUTE_RETURN_ERROR_ON_MSG(conv_info.stride().first != 1 || conv_info.stride().second != 1,
80 "Winograd layer only supports unit strides.");
81 if (biases != nullptr)
82 {
83 ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(src, biases);
84 ARM_COMPUTE_RETURN_ERROR_ON(biases->num_dimensions() > 1);
85 }
86 ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(src, 1, DataType::F16, DataType::F32);
87 ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(src, weights);
88 return Status{};
89}
90
91bool get_winograd_kernel_implementation(const ITensorInfo *src,
92 const ITensorInfo *weights,

Callers 1

validateMethod · 0.70

Calls 2

strideMethod · 0.45
num_dimensionsMethod · 0.45

Tested by

no test coverage detected