diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2019-06-20 14:28:19 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-06-21 09:54:30 +0000 |
commit | 639fb0437d1a5a8a6ea737fed5a16b554dfffead (patch) | |
tree | 5b89adc18c1a071d23747a28dcddcfca41e4d815 /src/armnn/Network.cpp | |
parent | 713e95c8c531c5cecd804a7cecc8af745917315c (diff) | |
download | armnn-639fb0437d1a5a8a6ea737fed5a16b554dfffead.tar.gz |
IVGCVSW-3319 Add frontend support for TransposeConvolution2d Layer
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Ic06f63f1eff255e697facf319e2ac4c83d782e7c
Diffstat (limited to 'src/armnn/Network.cpp')
-rw-r--r-- | src/armnn/Network.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 75b63e49f6..9436fc6f9c 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1008,6 +1008,28 @@ IConnectableLayer* Network::AddPreluLayer(const char* name) return m_Graph->AddLayer<PreluLayer>(name); } +IConnectableLayer* Network::AddTransposeConvolution2dLayer(const TransposeConvolution2dDescriptor& descriptor, + const ConstTensor& weights, + const Optional<ConstTensor>& biases, + const char* name) +{ + if (descriptor.m_BiasEnabled && !biases.has_value()) + { + throw InvalidArgumentException("AddTransposeConvolution2dLayer: Biases cannot be empty"); + } + + const auto layer = m_Graph->AddLayer<TransposeConvolution2dLayer>(descriptor, name); + + layer->m_Weight = std::make_unique<ScopedCpuTensorHandle>(weights); + + if (descriptor.m_BiasEnabled) + { + layer->m_Bias = std::make_unique<ScopedCpuTensorHandle>(biases.value()); + } + + return layer; +} + void Network::Accept(ILayerVisitor& visitor) const { for (auto layer : GetGraph()) |