From fd7e8531b1eddf28d4f80d1423ca506ed1b7fa06 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 7 Sep 2018 10:51:27 +0100 Subject: COMPMID-1451: Print output quant info Change-Id: I2398d827ffc9bbfec1310897c4e754f16fa1a269 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/147308 Reviewed-by: Anthony Barbier Tested-by: Jenkins --- arm_compute/graph/backends/FunctionHelpers.h | 40 ++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'arm_compute/graph') diff --git a/arm_compute/graph/backends/FunctionHelpers.h b/arm_compute/graph/backends/FunctionHelpers.h index 4a3f001671..bf458ae33f 100644 --- a/arm_compute/graph/backends/FunctionHelpers.h +++ b/arm_compute/graph/backends/FunctionHelpers.h @@ -259,7 +259,9 @@ std::unique_ptr create_convolution_layer(ConvolutionLayerNode &node, typename TargetInfo::TensorType *biases = get_backing_tensor(node.input(2)); typename TargetInfo::TensorType *output = get_backing_tensor(node.output(0)); - if(is_data_type_quantized_asymmetric(input->info()->data_type())) + const bool is_quantized = is_data_type_quantized_asymmetric(input->info()->data_type()); + + if(is_quantized) { biases->info()->set_data_type(DataType::S32); } @@ -304,12 +306,18 @@ std::unique_ptr create_convolution_layer(ConvolutionLayerNode &node, } // Log info + std::ostringstream qss; + if(is_quantized) + { + qss << " Input QuantInfo: " << input->info()->quantization_info() + << " Weights QuantInfo: " << weights->info()->quantization_info() + << " Output QuantInfo: " << output->info()->quantization_info(); + } ARM_COMPUTE_LOG_GRAPH_INFO("Instantiated " << func_name << " Target " << TargetInfo::TargetType << " Data Type: " << input->info()->data_type() << " Groups: " << num_groups - << " Input QuantInfo: " << input->info()->quantization_info() - << " Weights QuantInfo: " << weights->info()->quantization_info() + << qss.str() << " Input shape: " << input->info()->tensor_shape() << " Weights shape: " << weights->info()->tensor_shape() << " Output shape: " << output->info()->tensor_shape() @@ -380,7 +388,9 @@ std::unique_ptr create_depthwise_convolution_layer(DepthwiseConvoluti typename TargetInfo::TensorType *biases = get_backing_tensor(node.input(2)); typename TargetInfo::TensorType *output = get_backing_tensor(node.output(0)); - if(is_data_type_quantized_asymmetric(input->info()->data_type())) + const bool is_quantized = is_data_type_quantized_asymmetric(input->info()->data_type()); + + if(is_quantized) { biases->info()->set_data_type(DataType::S32); } @@ -405,11 +415,17 @@ std::unique_ptr create_depthwise_convolution_layer(DepthwiseConvoluti } // Log info + std::ostringstream qss; + if(is_quantized) + { + qss << " Input QuantInfo: " << input->info()->quantization_info() + << " Weights QuantInfo: " << weights->info()->quantization_info() + << " Output QuantInfo: " << output->info()->quantization_info(); + } ARM_COMPUTE_LOG_GRAPH_INFO("Instantiated " << func_name << " Target " << TargetInfo::TargetType << " Data Type: " << input->info()->data_type() - << " Input QuantInfo: " << input->info()->quantization_info() - << " Weights QuantInfo: " << weights->info()->quantization_info() + << qss.str() << " Input shape: " << input->info()->tensor_shape() << " Weights shape: " << weights->info()->tensor_shape() << " Output shape: " << output->info()->tensor_shape() @@ -543,12 +559,20 @@ std::unique_ptr create_fully_connected_layer(FullyConnectedLayerNode auto func = support::cpp14::make_unique(get_memory_manager(ctx, TargetInfo::TargetType)); func->configure(input, weights, biases, output, fc_info); + const bool is_quantized = is_data_type_quantized_asymmetric(input->info()->data_type()); + // Log info + std::ostringstream qss; + if(is_quantized) + { + qss << " Input QuantInfo: " << input->info()->quantization_info() + << " Weights QuantInfo: " << weights->info()->quantization_info() + << " Output QuantInfo: " << output->info()->quantization_info(); + } ARM_COMPUTE_LOG_GRAPH_INFO("Instantiated " << node.type() << " Target " << TargetInfo::TargetType << " Data Type: " << input->info()->data_type() - << " Input QuantInfo: " << input->info()->quantization_info() - << " Weights QuantInfo: " << weights->info()->quantization_info() + << qss.str() << " Input shape: " << input->info()->tensor_shape() << " Weights shape: " << weights->info()->tensor_shape() << " Output shape: " << output->info()->tensor_shape() -- cgit v1.2.1