diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-03-08 19:09:19 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:16 +0000 |
commit | 1562be3e8a449360a90af75f6f1481a30d41be75 (patch) | |
tree | 3180551f4c8595ae5c9630694754f3b1f8b493b1 /arm_compute/runtime/CL/functions | |
parent | 684cb0f29d23fbe418e5e5347234abf9eccef363 (diff) | |
download | ComputeLibrary-1562be3e8a449360a90af75f6f1481a30d41be75.tar.gz |
COMPMID-998: Release unused trainable parameters.
Change-Id: I361a520f34080016a25bc86e1e6789777c5152c1
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124432
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime/CL/functions')
4 files changed, 39 insertions, 1 deletions
diff --git a/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h index eb12fe4cca..d6fc8f0fcc 100644 --- a/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h +++ b/arm_compute/runtime/CL/functions/CLDepthwiseConvolutionLayer.h @@ -83,6 +83,14 @@ class CLDepthwiseConvolutionLayer : public IFunction public: /** Default constructor */ CLDepthwiseConvolutionLayer(); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLDepthwiseConvolutionLayer(const CLDepthwiseConvolutionLayer &) = delete; + /** Default move constructor */ + CLDepthwiseConvolutionLayer(CLDepthwiseConvolutionLayer &&) = default; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLDepthwiseConvolutionLayer &operator=(const CLDepthwiseConvolutionLayer &) = delete; + /** Default move assignment operator */ + CLDepthwiseConvolutionLayer &operator=(CLDepthwiseConvolutionLayer &&) = default; /** Initialize the function's source, destination, weights and convolution information. * * @param[in, out] input Source tensor. Data type supported: QASYMM8/F32. (Written to only for border filling). @@ -109,7 +117,9 @@ private: CLTensor _weights_reshaped; CLTensor _v2mm_output; CLTensor _output_reshaped; + bool _is_first_run; bool _is_quantized; + const ICLTensor *_original_weights; }; } #endif /*__ARM_COMPUTE_CLDEPTHWISECONVOLUTION_H__ */ diff --git a/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h b/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h index 1e9ee492ad..ad821318e9 100644 --- a/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h +++ b/arm_compute/runtime/CL/functions/CLFullyConnectedLayer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -76,6 +76,14 @@ class CLFullyConnectedLayer : public IFunction public: /** Constructor */ CLFullyConnectedLayer(std::shared_ptr<IMemoryManager> memory_manager = nullptr); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLFullyConnectedLayer(const CLFullyConnectedLayer &) = delete; + /** Default move constructor */ + CLFullyConnectedLayer(CLFullyConnectedLayer &&) = default; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLFullyConnectedLayer &operator=(const CLFullyConnectedLayer &) = delete; + /** Default move assignment operator */ + CLFullyConnectedLayer &operator=(CLFullyConnectedLayer &&) = default; /** Set the input and output tensors. * * @param[in] input Source tensor. Data type supported: QS8/QASYMM8/QS16/F16/F32. @@ -121,6 +129,7 @@ private: bool _is_fc_after_conv; bool _accumulate_biases; bool _is_quantized; + const ICLTensor *_original_weights; }; } #endif /* __ARM_COMPUTE_CLFULLYCONNECTEDLAYER_H__ */ diff --git a/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h index dc1211a51a..91d35ca0b2 100644 --- a/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h +++ b/arm_compute/runtime/CL/functions/CLGEMMConvolutionLayer.h @@ -103,6 +103,14 @@ public: * @param[in] memory_manager (Optional) Memory manager. */ CLGEMMConvolutionLayer(std::shared_ptr<IMemoryManager> memory_manager = nullptr); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLGEMMConvolutionLayer(const CLGEMMConvolutionLayer &) = delete; + /** Default move constructor */ + CLGEMMConvolutionLayer(CLGEMMConvolutionLayer &&) = default; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLGEMMConvolutionLayer &operator=(const CLGEMMConvolutionLayer &) = delete; + /** Default move assignment operator */ + CLGEMMConvolutionLayer &operator=(CLGEMMConvolutionLayer &&) = default; /** Set the input and output tensors. * * @param[in] input Source tensor. 3 lower dimensions represent a single input [width, height, IFM], @@ -172,6 +180,8 @@ private: CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint _gemmlowp_output_stage; CLCol2ImKernel _col2im_kernel; + const ICLTensor *_original_weights; + CLTensor _im2col_output; CLTensor _weights_reshaped; CLTensor _gemm_output; diff --git a/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h b/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h index e5aafd8547..b7b2587454 100644 --- a/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h +++ b/arm_compute/runtime/CL/functions/CLLocallyConnectedLayer.h @@ -53,6 +53,14 @@ class CLLocallyConnectedLayer : public IFunction public: /** Default constructor */ CLLocallyConnectedLayer(std::shared_ptr<IMemoryManager> memory_manager = nullptr); + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLLocallyConnectedLayer(const CLLocallyConnectedLayer &) = delete; + /** Default move constructor */ + CLLocallyConnectedLayer(CLLocallyConnectedLayer &&) = default; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + CLLocallyConnectedLayer &operator=(const CLLocallyConnectedLayer &) = delete; + /** Default move assignment operator */ + CLLocallyConnectedLayer &operator=(CLLocallyConnectedLayer &&) = default; /** Set the input and output tensors. * * @param[in] input Source tensor. 3 lower dimensions represent a single input [width, height, IFM], @@ -93,6 +101,7 @@ private: CLTensor _weights_reshaped; CLTensor _gemm_output; bool _is_first_run; + const ICLTensor *_original_weights; }; } #endif /* __ARM_COMPUTE_CLLOCALLYCONNECTEDLAYER_H__ */ |