From 325279580fdadc36f82eb0aff2a2f3d72d5b71aa Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Tue, 5 Nov 2019 16:55:57 +0000 Subject: COMPMID-2106: Extend get_input_accessor() to run input images through QASYMM8 networks Change-Id: I5c44bcc95990c343d7829d885b93e8ff16691c50 Signed-off-by: Manuel Bottini Reviewed-on: https://review.mlplatform.org/c/2226 Tested-by: Arm Jenkins Reviewed-by: Georgios Pinitas --- examples/graph_mobilenet.cpp | 2 +- utils/GraphUtils.h | 2 +- utils/ImageLoader.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/graph_mobilenet.cpp b/examples/graph_mobilenet.cpp index 7533084d14..5a39dc0ffe 100644 --- a/examples/graph_mobilenet.cpp +++ b/examples/graph_mobilenet.cpp @@ -235,7 +235,7 @@ private: }; graph << InputLayer(input_descriptor.set_quantization_info(in_quant_info), - get_weights_accessor(data_path, common_params.image)) + get_input_accessor(common_params, nullptr, false)) << ConvolutionLayer( 3U, 3U, 32U, get_weights_accessor(data_path, "Conv2d_0_weights.npy"), diff --git a/utils/GraphUtils.h b/utils/GraphUtils.h index 826ffff8c3..bc0822cc89 100644 --- a/utils/GraphUtils.h +++ b/utils/GraphUtils.h @@ -486,7 +486,7 @@ inline std::unique_ptr get_input_accessor(const arm_comp const std::string &image_file_lower = lower_string(image_file); if(arm_compute::utility::endswith(image_file_lower, ".npy")) { - return arm_compute::support::cpp14::make_unique(image_file); + return arm_compute::support::cpp14::make_unique(image_file, graph_parameters.data_layout); } else if(arm_compute::utility::endswith(image_file_lower, ".jpeg") || arm_compute::utility::endswith(image_file_lower, ".jpg") diff --git a/utils/ImageLoader.h b/utils/ImageLoader.h index c03cbdf203..497320e326 100644 --- a/utils/ImageLoader.h +++ b/utils/ImageLoader.h @@ -257,7 +257,7 @@ public: void fill_planar_tensor(T &tensor, bool bgr = false) { ARM_COMPUTE_ERROR_ON(!is_open()); - ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(&tensor, 1, DataType::U8, DataType::F32, DataType::F16); + ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(&tensor, 1, DataType::U8, DataType::QASYMM8, DataType::F32, DataType::F16); const DataLayout data_layout = tensor.info()->data_layout(); const TensorShape tensor_shape = tensor.info()->tensor_shape(); @@ -312,6 +312,7 @@ public: switch(tensor.info()->data_type()) { case DataType::U8: + case DataType::QASYMM8: { *(out.ptr() + 0 * stride_z) = bgr ? blue : red; *(out.ptr() + 1 * stride_z) = green; -- cgit v1.2.1