aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTfLiteParser/TfLiteParser.hpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-03-01 12:31:41 +0000
committerFinn Williams <Finn.Williams@arm.com>2021-03-25 16:54:05 +0000
commitd4fa5456ba596c9fc5e2ab7de836c5157aa7a8f8 (patch)
treed43fbd37b45dc39cda46e8138be0def3d67d41ac /src/armnnTfLiteParser/TfLiteParser.hpp
parentade8c1daab87abf628c42a0bbc002193d7ac40f6 (diff)
downloadarmnn-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.hpp16
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;