From a3e6b6d2c556227aea0c145014612beb6e5c15c8 Mon Sep 17 00:00:00 2001 From: Sheri Zhang Date: Tue, 18 Aug 2020 10:07:35 +0100 Subject: COMPMID-3696: Padded dilated Conv2D segmentation Signed-off-by: Sheri Zhang Change-Id: I8045166d2d3202612fec3f6bf9651f3e6bfcb20f Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3783 Comments-Addressed: Arm Jenkins Reviewed-by: Manuel Bottini Reviewed-by: Aleksandr Nikolaev Tested-by: Arm Jenkins --- arm_compute/core/Helpers.h | 6 +++--- arm_compute/core/Helpers.inl | 4 ++-- src/core/TensorInfo.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arm_compute/core/Helpers.h b/arm_compute/core/Helpers.h index d056f937da..48ac38b170 100644 --- a/arm_compute/core/Helpers.h +++ b/arm_compute/core/Helpers.h @@ -376,7 +376,7 @@ public: * * @return The current position of the iterator in bytes relative to the first element. */ - constexpr int offset() const; + constexpr size_t offset() const; /** Return a pointer to the current pixel. * @@ -403,8 +403,8 @@ private: { } - int _dim_start; - int _stride; + size_t _dim_start; + size_t _stride; }; std::array _dims; diff --git a/arm_compute/core/Helpers.inl b/arm_compute/core/Helpers.inl index 07b4132bea..df0c929372 100644 --- a/arm_compute/core/Helpers.inl +++ b/arm_compute/core/Helpers.inl @@ -158,7 +158,7 @@ inline Iterator::Iterator(const ITensor *tensor, const Window &win) for(unsigned int n = 0; n < info->num_dimensions(); ++n) { _dims[n]._stride = win[n].step() * strides[n]; - std::get<0>(_dims)._dim_start += strides[n] * win[n].start(); + std::get<0>(_dims)._dim_start += static_cast(strides[n]) * win[n].start(); } //Copy the starting point to all the dimensions: @@ -182,7 +182,7 @@ inline void Iterator::increment(const size_t dimension) } } -inline constexpr int Iterator::offset() const +inline constexpr size_t Iterator::offset() const { return _dims.at(0)._dim_start; } diff --git a/src/core/TensorInfo.cpp b/src/core/TensorInfo.cpp index 0971d2aa73..c1a1c2ecf0 100644 --- a/src/core/TensorInfo.cpp +++ b/src/core/TensorInfo.cpp @@ -268,7 +268,7 @@ std::tuple TensorInfo::calculate_padding_requirements(c const unsigned int idx_last_dimension = _tensor_shape.num_dimensions() - 1; - required_total_size = _tensor_shape[idx_last_dimension] * required_strides[idx_last_dimension]; + required_total_size = static_cast(_tensor_shape[idx_last_dimension]) * required_strides[idx_last_dimension]; break; } } @@ -360,7 +360,7 @@ ITensorInfo &TensorInfo::set_tensor_shape(const TensorShape &shape) else { const unsigned int idx_last_dimension = _tensor_shape.num_dimensions() - 1; - _total_size = _tensor_shape[idx_last_dimension] * _strides_in_bytes[idx_last_dimension]; + _total_size = static_cast(_tensor_shape[idx_last_dimension]) * _strides_in_bytes[idx_last_dimension]; } std::tie(_strides_in_bytes, _offset_first_element_in_bytes, _total_size) = calculate_padding_requirements(_padding); -- cgit v1.2.1