diff options
-rw-r--r-- | arm_compute/core/GLES_COMPUTE/GCKernels.h | 2 | ||||
-rw-r--r-- | arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h (renamed from arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h) | 20 | ||||
-rw-r--r-- | arm_compute/runtime/GLES_COMPUTE/functions/GCDropoutLayer.h | 6 | ||||
-rw-r--r-- | docs/00_introduction.dox | 55 | ||||
-rw-r--r-- | docs/Doxyfile | 3 | ||||
-rw-r--r-- | src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp (renamed from src/core/GLES_COMPUTE/kernels/GCDropoutKernel.cpp) | 8 |
6 files changed, 75 insertions, 19 deletions
diff --git a/arm_compute/core/GLES_COMPUTE/GCKernels.h b/arm_compute/core/GLES_COMPUTE/GCKernels.h index 9831e25299..417c98af67 100644 --- a/arm_compute/core/GLES_COMPUTE/GCKernels.h +++ b/arm_compute/core/GLES_COMPUTE/GCKernels.h @@ -31,7 +31,7 @@ #include "arm_compute/core/GLES_COMPUTE/kernels/GCCol2ImKernel.h" #include "arm_compute/core/GLES_COMPUTE/kernels/GCDepthConcatenateLayerKernel.h" #include "arm_compute/core/GLES_COMPUTE/kernels/GCDirectConvolutionLayerKernel.h" -#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h" +#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h" #include "arm_compute/core/GLES_COMPUTE/kernels/GCFillBorderKernel.h" #include "arm_compute/core/GLES_COMPUTE/kernels/GCGEMMInterleave4x4Kernel.h" #include "arm_compute/core/GLES_COMPUTE/kernels/GCGEMMMatrixAccumulateBiasesKernel.h" diff --git a/arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h b/arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h index 6159a7af26..9f04411d92 100644 --- a/arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h +++ b/arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h @@ -22,8 +22,8 @@ * SOFTWARE. */ -#ifndef __ARM_COMPUTE_GCDROPOUTKERNEL_H__ -#define __ARM_COMPUTE_GCDROPOUTKERNEL_H__ +#ifndef __ARM_COMPUTE_GCDROPOUTLAYERKERNEL_H__ +#define __ARM_COMPUTE_GCDROPOUTLAYERKERNEL_H__ #include "arm_compute/core/GLES_COMPUTE/IGCKernel.h" @@ -31,28 +31,28 @@ namespace arm_compute { class IGCTensor; -/** Interface for the dropout kernel. +/** Interface for the dropout layer kernel. * * Dropout is used to improve over-fit on neural networks. * */ -class GCDropoutKernel : public IGCKernel +class GCDropoutLayerKernel : public IGCKernel { public: /** Default constructor */ - GCDropoutKernel(); + GCDropoutLayerKernel(); /** Prevent instances of this class from being copied (As this class contains pointers) */ - GCDropoutKernel(const GCDropoutKernel &) = delete; + GCDropoutLayerKernel(const GCDropoutLayerKernel &) = delete; /** Prevent instances of this class from being copied (As this class contains pointers) */ - GCDropoutKernel &operator=(const GCDropoutKernel &) = delete; + GCDropoutLayerKernel &operator=(const GCDropoutLayerKernel &) = delete; /** Allow instances of this class to be moved */ - GCDropoutKernel(GCDropoutKernel &&) = default; + GCDropoutLayerKernel(GCDropoutLayerKernel &&) = default; /** Allow instances of this class to be moved */ - GCDropoutKernel &operator=(GCDropoutKernel &&) = default; + GCDropoutLayerKernel &operator=(GCDropoutLayerKernel &&) = default; /** Set the input and output of the kernel. * @@ -76,4 +76,4 @@ private: }; } -#endif /*__ARM_COMPUTE_GCDROPOUTKERNEL_H__ */ +#endif /*__ARM_COMPUTE_GCDROPOUTLAYERKERNEL_H__ */ diff --git a/arm_compute/runtime/GLES_COMPUTE/functions/GCDropoutLayer.h b/arm_compute/runtime/GLES_COMPUTE/functions/GCDropoutLayer.h index 6a08d96676..c51d2c1613 100644 --- a/arm_compute/runtime/GLES_COMPUTE/functions/GCDropoutLayer.h +++ b/arm_compute/runtime/GLES_COMPUTE/functions/GCDropoutLayer.h @@ -25,7 +25,7 @@ #ifndef __ARM_COMPUTE_GCDROPOUTLAYER_H__ #define __ARM_COMPUTE_GCDROPOUTLAYER_H__ -#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h" +#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h" #include "arm_compute/runtime/IFunction.h" namespace arm_compute @@ -33,7 +33,7 @@ namespace arm_compute class IGCTensor; /** Basic function to do dropout op. This function calls the following kernels: * - * -# @ref GCDropoutKernel + * -# @ref GCDropoutLayerKernel */ class GCDropoutLayer : public IFunction { @@ -56,7 +56,7 @@ public: void run() override; private: - GCDropoutKernel _dropout_kernel; + GCDropoutLayerKernel _dropout_kernel; }; } diff --git a/docs/00_introduction.dox b/docs/00_introduction.dox index bf43b3abb3..4d6fafa980 100644 --- a/docs/00_introduction.dox +++ b/docs/00_introduction.dox @@ -155,6 +155,61 @@ If there is more than one release in a month then an extra sequential number is @subsection S2_2_changelog Changelog +v17.12 Public major release + - Most machine learning functions on OpenCL support the new data type QASYMM8 + - Introduced logging interface + - Introduced opencl timer + - Reworked GEMMLowp interface + - Added new NEON assembly kernels for GEMMLowp, SGEMM and HGEMM + - Added validation method for most Machine Learning kernels / functions + - Added new graph examples such as googlenet, mobilenet, squeezenet, vgg16 and vgg19 + - Added sgemm example for OpenCL + - Added absolute difference example for GLES compute + - Added new tests and benchmarks in validation and benchmark frameworks + - Added new kernels / functions for GLES compute + + - New OpenGL ES kernels / functions + - @ref arm_compute::GCAbsoluteDifferenceKernel / @ref arm_compute::GCAbsoluteDifference + - @ref arm_compute::GCActivationLayerKernel / @ref arm_compute::GCActivationLayer + - @ref arm_compute::GCBatchNormalizationLayerKernel / @ref arm_compute::GCBatchNormalizationLayer + - @ref arm_compute::GCCol2ImKernel + - @ref arm_compute::GCDepthConcatenateLayerKernel / @ref arm_compute::GCDepthConcatenateLayer + - @ref arm_compute::GCDirectConvolutionLayerKernel / @ref arm_compute::GCDirectConvolutionLayer + - @ref arm_compute::GCDropoutLayerKernel / @ref arm_compute::GCDropoutLayer + - @ref arm_compute::GCFillBorderKernel / @ref arm_compute::GCFillBorder + - @ref arm_compute::GCGEMMInterleave4x4Kernel / @ref arm_compute::GCGEMMInterleave4x4 + - @ref arm_compute::GCGEMMMatrixAccumulateBiasesKernel / @ref arm_compute::GCGEMMMatrixAdditionKernel / @ref arm_compute::GCGEMMMatrixMultiplyKernel / @ref arm_compute::GCGEMM + - @ref arm_compute::GCGEMMTranspose1xWKernel / @ref arm_compute::GCGEMMTranspose1xW + - @ref arm_compute::GCIm2ColKernel + - @ref arm_compute::GCNormalizationLayerKernel / @ref arm_compute::GCNormalizationLayer + - @ref arm_compute::GCPixelWiseMultiplicationKernel / @ref arm_compute::GCPixelWiseMultiplication + - @ref arm_compute::GCPoolingLayerKernel / @ref arm_compute::GCPoolingLayer + - @ref arm_compute::GCLogits1DMaxKernel / @ref arm_compute::GCLogits1DShiftExpSumKernel / @ref arm_compute::GCLogits1DNormKernel / @ref arm_compute::GCSoftmaxLayer + - @ref arm_compute::GCTransposeKernel / @ref arm_compute::GCTranspose + + - New NEON kernels / functions + - @ref arm_compute::NEGEMMLowpAArch64A53Kernel / @ref arm_compute::NEGEMMLowpAArch64Kernel / @ref arm_compute::NEGEMMLowpAArch64V8P4Kernel / arm_compute::NEGEMMInterleavedBlockedKernel / @ref arm_compute::NEGEMMLowpAssemblyMatrixMultiplyCore + - @ref arm_compute::NEHGEMMAArch64FP16Kernel + - @ref arm_compute::NEDepthwiseConvolutionLayer3x3Kernel / @ref arm_compute::NEDepthwiseIm2ColKernel / @ref arm_compute::NEGEMMMatrixVectorMultiplyKernel / @ref arm_compute::NEDepthwiseVectorToTensorKernel / @ref arm_compute::NEDepthwiseConvolutionLayer + - @ref arm_compute::NEGEMMLowpOffsetContributionKernel / @ref arm_compute::NEGEMMLowpMatrixAReductionKernel / @ref arm_compute::NEGEMMLowpMatrixBReductionKernel / @ref arm_compute::NEGEMMLowpMatrixMultiplyCore + - @ref arm_compute::NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel / @ref arm_compute::NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint + - @ref arm_compute::NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel / @ref arm_compute::NEGEMMLowpQuantizeDownInt32ToUint8Scale + - @ref arm_compute::NEWinogradLayerKernel / @ref arm_compute::NEWinogradLayer + + - New OpenCL kernels / functions + - @ref arm_compute::CLGEMMLowpOffsetContributionKernel / @ref arm_compute::CLGEMMLowpMatrixAReductionKernel / @ref arm_compute::CLGEMMLowpMatrixBReductionKernel / @ref arm_compute::CLGEMMLowpMatrixMultiplyCore + - @ref arm_compute::CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel / @ref arm_compute::CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint + - @ref arm_compute::CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel / @ref arm_compute::CLGEMMLowpQuantizeDownInt32ToUint8Scale + + - New graph nodes for NEON and OpenCL + - @ref arm_compute::graph::BranchLayer + - @ref arm_compute::graph::DepthConvertLayer + - @ref arm_compute::graph::DepthwiseConvolutionLayer + - @ref arm_compute::graph::DequantizationLayer + - @ref arm_compute::graph::FlattenLayer + - @ref arm_compute::graph::QuantizationLayer + - @ref arm_compute::graph::ReshapeLayer + v17.10 Public maintenance release - Bug fixes: - Check the maximum local workgroup size supported by OpenCL devices diff --git a/docs/Doxyfile b/docs/Doxyfile index a3e4f5c908..de0320f38b 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -2076,7 +2076,8 @@ PREDEFINED = DOXYGEN_SKIP_THIS \ LOCATE_MAX \ HAS_BIAS \ POOL_AVG \ - ARM_COMPUTE_AARCH64_V8_2 + ARM_COMPUTE_AARCH64_V8_2 \ + ARM_COMPUTE_AARCH64_V8A # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/src/core/GLES_COMPUTE/kernels/GCDropoutKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp index cdd6a9d989..e87c902281 100644 --- a/src/core/GLES_COMPUTE/kernels/GCDropoutKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp @@ -22,7 +22,7 @@ * SOFTWARE. */ -#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutKernel.h" +#include "arm_compute/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.h" #include "arm_compute/core/Error.h" #include "arm_compute/core/GLES_COMPUTE/GCHelpers.h" @@ -40,12 +40,12 @@ using namespace arm_compute; -GCDropoutKernel::GCDropoutKernel() +GCDropoutLayerKernel::GCDropoutLayerKernel() : _input(nullptr), _mask(nullptr), _output(nullptr), _num_elems_processed_per_iteration(0) { } -void GCDropoutKernel::configure(const IGCTensor *input, IGCTensor *mask, IGCTensor *output, float ratio, bool forward) +void GCDropoutLayerKernel::configure(const IGCTensor *input, IGCTensor *mask, IGCTensor *output, float ratio, bool forward) { ARM_COMPUTE_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input, 1, DataType::F16, DataType::F32); ARM_COMPUTE_ERROR_ON_MISMATCHING_DATA_TYPES(input, mask, output); @@ -83,7 +83,7 @@ void GCDropoutKernel::configure(const IGCTensor *input, IGCTensor *mask, IGCTens IGCKernel::configure(win); } -void GCDropoutKernel::run(const Window &window) +void GCDropoutLayerKernel::run(const Window &window) { ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this); ARM_COMPUTE_ERROR_ON_MISMATCHING_WINDOWS(IGCKernel::window(), window); |