SpaceToBatchND(const ::arm_compute::ITensor *input, const ::arm_compute::TensorShape &input_shape,
const ::arm_compute::ITensor *block_size, const ::arm_compute::ITensor *padding_size,
const ::arm_compute::ITensor *output, const ::arm_compute::TensorShape &output_shape,
- const ::arm_compute::Coordinates &axises)
+ const ::arm_compute::Coordinates &axises, T zero_value)
{
const int input_batch = input_shape[axises[0]];
const int input_height = input_shape[axises[1]];
if (in_h < padding_height_left || in_h >= (input_height + padding_height_left) ||
in_w < padding_width_left || in_w >= (input_width + padding_width_left))
{
- *reinterpret_cast<T *>(output->ptr_to_element(output_id)) = 0;
+ *reinterpret_cast<T *>(output->ptr_to_element(output_id)) = zero_value;
}
else
{
case ::arm_compute::DataType::U8:
case ::arm_compute::DataType::QASYMM8:
SpaceToBatchND<uint8_t>(_input, _input->info()->tensor_shape(), _block_size, _padding_size,
- _output, _output->info()->tensor_shape(), _axises);
+ _output, _output->info()->tensor_shape(), _axises,
+ _input->info()->quantization_info().offset);
break;
case ::arm_compute::DataType::F32:
SpaceToBatchND<float>(_input, _input->info()->tensor_shape(), _block_size, _padding_size,
- _output, _output->info()->tensor_shape(), _axises);
+ _output, _output->info()->tensor_shape(), _axises, 0.0f);
break;
default:
ARM_COMPUTE_ERROR("DataType not supported");