diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2018-02-23 15:01:52 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:48:33 +0000 |
commit | 33a6990ee6ba7bf85b88822d9723060262d00785 (patch) | |
tree | 104e1b614b79a891e78fb7796a91c1981b4d6dd1 /arm_compute/runtime | |
parent | 6a8eb0c9c8d3f71ed4e718464c6d22ca0ffbbdd8 (diff) | |
download | ComputeLibrary-33a6990ee6ba7bf85b88822d9723060262d00785.tar.gz |
COMPMID-540 Replace NEDeconvolutionLayerUpsampleKernel with NEScaleKernel
Change-Id: Ic29557cca24447ef40fa2cfca84f208b4d43f8de
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122180
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r-- | arm_compute/runtime/CPP/CPPFunctions.h | 3 | ||||
-rw-r--r-- | arm_compute/runtime/CPP/functions/CPPUpsample.h | 50 | ||||
-rw-r--r-- | arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h | 2 |
3 files changed, 54 insertions, 1 deletions
diff --git a/arm_compute/runtime/CPP/CPPFunctions.h b/arm_compute/runtime/CPP/CPPFunctions.h index 1f01ffac82..4b7e1afbb5 100644 --- a/arm_compute/runtime/CPP/CPPFunctions.h +++ b/arm_compute/runtime/CPP/CPPFunctions.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -26,5 +26,6 @@ /* Header regrouping all the CPP functions */ #include "arm_compute/runtime/CPP/functions/CPPPermute.h" +#include "arm_compute/runtime/CPP/functions/CPPUpsample.h" #endif /* __ARM_COMPUTE_CPPFUNCTIONS_H__ */ diff --git a/arm_compute/runtime/CPP/functions/CPPUpsample.h b/arm_compute/runtime/CPP/functions/CPPUpsample.h new file mode 100644 index 0000000000..06df866349 --- /dev/null +++ b/arm_compute/runtime/CPP/functions/CPPUpsample.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2017-2018 ARM Limited. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef __ARM_COMPUTE_CPPUPSAMPLE_H__ +#define __ARM_COMPUTE_CPPUPSAMPLE_H__ + +#include "arm_compute/runtime/CPP/ICPPSimpleFunction.h" + +#include "arm_compute/core/Types.h" + +namespace arm_compute +{ +class ITensor; + +/** Basic function to run @ref CPPUpsample */ +class CPPUpsample : public ICPPSimpleFunction +{ +public: + /** Configure the upsample CPP kernel + * + * @param[in] input The input tensor to upsample. Data types supported: F32 + * @param[out] output The output tensor. Data types supported: Same as @p input + * @param[in] info Padding information + * @param[in] inner_border_right The number of zeros added to right edge of the input. + * @param[in] inner_border_top The number of zeros added to top edge of the input. + */ + void configure(const ITensor *input, ITensor *output, const PadStrideInfo &info, unsigned int inner_border_right, unsigned int inner_border_top); +}; +} +#endif /* __ARM_COMPUTE_CPPUPSAMPLE_H__ */ diff --git a/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h b/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h index 7566131488..c148c3ff69 100644 --- a/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h +++ b/arm_compute/runtime/NEON/functions/NEDeconvolutionLayer.h @@ -24,6 +24,7 @@ #ifndef __ARM_COMPUTE_NEDECONVOLUTIONLAYER_H__ #define __ARM_COMPUTE_NEDECONVOLUTIONLAYER_H__ +#include "arm_compute/runtime/CPP/functions/CPPUpsample.h" #include "arm_compute/runtime/NEON/functions/NEConvolutionLayer.h" #include "arm_compute/runtime/NEON/functions/NEDirectConvolutionLayer.h" @@ -97,6 +98,7 @@ public: private: MemoryGroup _memory_group; NEConvolutionLayer _conv_f; + CPPUpsample _upsample_f; Tensor _scaled_output; ITensor *_input; PadStrideInfo _info; |