1 // 2 // Copyright © 2017 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "Decoders.hpp" 9 #include "Encoders.hpp" 10 11 #include <backendsCommon/CpuTensorHandle.hpp> 12 #include <backendsCommon/Workload.hpp> 13 14 namespace armnn 15 { 16 17 class RefTransposeConvolution2dWorkload : public BaseWorkload<TransposeConvolution2dQueueDescriptor> 18 { 19 public: 20 RefTransposeConvolution2dWorkload(const TransposeConvolution2dQueueDescriptor& descriptor, 21 const WorkloadInfo& info); 22 ~RefTransposeConvolution2dWorkload() = default; 23 24 void PostAllocationConfigure() override; 25 26 void Execute() const override; 27 28 private: 29 std::unique_ptr<ScopedCpuTensorHandle> m_Weights; 30 std::unique_ptr<ScopedCpuTensorHandle> m_Biases; 31 32 std::unique_ptr<Decoder<float>> m_InputDecoder; 33 std::unique_ptr<Encoder<float>> m_OutputEncoder; 34 35 std::unique_ptr<Decoder<float>> m_WeightsDecoder; 36 std::unique_ptr<Decoder<float>> m_BiasesDecoder; 37 38 TensorShape m_InputShape; 39 TensorShape m_OutputShape; 40 TensorShape m_WeightsShape; 41 }; 42 43 } // namespace armnn