| 438 | } |
| 439 | |
| 440 | Status CpuGemmConv2d::validate_gemm3d(const ITensorInfo *input_info, |
| 441 | const ITensorInfo *weights_info, |
| 442 | const ActivationLayerInfo &act_info, |
| 443 | int gemm_3d_depth, |
| 444 | bool skip_im2col) |
| 445 | { |
| 446 | const DataType data_type = input_info->data_type(); |
| 447 | const unsigned int mult_y = skip_im2col ? 1U : gemm_3d_depth; |
| 448 | const unsigned int mult_z = skip_im2col ? gemm_3d_depth : 1U; |
| 449 | |
| 450 | // Set dummy tensor shapes for the validation |
| 451 | const TensorInfo dummy_input_info(TensorShape(4U, 4U * mult_y, 1U * mult_z), 1, data_type, |
| 452 | input_info->quantization_info()); |
| 453 | const TensorInfo dummy_weights_info(TensorShape(4U, 4U), 1, data_type, weights_info->quantization_info()); |
| 454 | const TensorInfo dummy_output_info(TensorShape(4U, 4U, gemm_3d_depth), 1, data_type, |
| 455 | input_info->quantization_info()); |
| 456 | |
| 457 | return validate_mm(&dummy_input_info, &dummy_weights_info, nullptr, &dummy_output_info, act_info, false, |
| 458 | gemm_3d_depth, skip_im2col); |
| 459 | } |
| 460 | |
| 461 | void CpuGemmConv2d::configure(const ITensorInfo *src, |
| 462 | const ITensorInfo *weights, |
nothing calls this directly
no test coverage detected