diff options
author | Finn Williams <Finn.Williams@arm.com> | 2021-03-01 12:31:41 +0000 |
---|---|---|
committer | Finn Williams <Finn.Williams@arm.com> | 2021-03-25 16:54:05 +0000 |
commit | d4fa5456ba596c9fc5e2ab7de836c5157aa7a8f8 (patch) | |
tree | d43fbd37b45dc39cda46e8138be0def3d67d41ac /src/armnnTfLiteParser/TfLiteParser.hpp | |
parent | ade8c1daab87abf628c42a0bbc002193d7ac40f6 (diff) | |
download | armnn-d4fa5456ba596c9fc5e2ab7de836c5157aa7a8f8.tar.gz |
IVGCVSW-5741 Update FullyConnected in TfLiteParser to support NonConstWeights
!armnn:5180
* Remove unnecessary memcopy for non permeuted const tensors
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Idc3ce2ac001e7d6be61819279de486f093730383
Diffstat (limited to 'src/armnnTfLiteParser/TfLiteParser.hpp')
-rw-r--r-- | src/armnnTfLiteParser/TfLiteParser.hpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/armnnTfLiteParser/TfLiteParser.hpp b/src/armnnTfLiteParser/TfLiteParser.hpp index b59571e7c3..07ff4816ea 100644 --- a/src/armnnTfLiteParser/TfLiteParser.hpp +++ b/src/armnnTfLiteParser/TfLiteParser.hpp @@ -83,6 +83,7 @@ public: static const std::string GetVersion(); private: + // No copying allowed until it is wanted and properly implemented TfLiteParserImpl(const TfLiteParserImpl &) = delete; TfLiteParserImpl & operator=(const TfLiteParserImpl &) = delete; @@ -154,7 +155,8 @@ private: void RegisterInputSlots(size_t subgraphIndex, size_t operatorIndex, armnn::IConnectableLayer* layer, - const std::vector<unsigned int>& tensorIndexes); + const std::vector<unsigned int>& tensorIndexes, + unsigned int startingSlotIndex = 0); void RegisterOutputSlots(size_t subgraphIndex, size_t operatorIndex, armnn::IConnectableLayer* layer, @@ -194,6 +196,13 @@ private: std::unique_ptr<int32_t[]> m_Int32Data; }; + bool IsConstTensor(TensorRawPtr tensorPtr); + armnn::ConstTensor CreateConstTensorNonPermuted(TensorRawPtr tensorPtr, + armnn::TensorInfo& tensorInfo); + std::pair<armnn::ConstTensor, SupportedDataStorage> + CreateConstTensorPermuted(TensorRawPtr tensorPtr, + armnn::TensorInfo& tensorInfo, + armnn::Optional<armnn::PermutationVector&> permutationVector); template<typename T> std::pair<armnn::ConstTensor, TfLiteParserImpl::SupportedDataStorage> @@ -202,11 +211,6 @@ private: armnn::TensorInfo& tensorInfo, armnn::Optional<armnn::PermutationVector&> permutationVector); - std::pair<armnn::ConstTensor, SupportedDataStorage> - CreateConstTensor(TensorRawPtr tensorPtr, - armnn::TensorInfo& tensorInfo, - armnn::Optional<armnn::PermutationVector&> permutationVector); - // Settings for configuring the TfLiteParser armnn::Optional<ITfLiteParser::TfLiteParserOptions> m_Options; |