ArmNN
 21.02
PreCompiledLayer.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
10 
11 #include <armnn/Descriptors.hpp>
12 
13 #include <memory>
14 #include <functional>
15 
16 namespace armnn
17 {
18 
19 using PreCompiledObjectDeleter = std::function<void(const void*)>;
20 using PreCompiledObjectPtr = std::unique_ptr<void, PreCompiledObjectDeleter>;
21 
22 class PreCompiledLayer : public LayerWithParameters<PreCompiledDescriptor>
23 {
24 public:
25  PreCompiledLayer(const PreCompiledDescriptor& param, const char* name);
27 
28  virtual std::unique_ptr<IWorkload> CreateWorkload(const IWorkloadFactory& factory) const override;
29 
30  PreCompiledLayer* Clone(Graph &graph) const override;
31 
32  void ValidateTensorShapesFromInputs() override;
33 
34  void SetPreCompiledObject(PreCompiledObjectPtr preCompiledObject);
35 
36  void Accept(ILayerVisitor& visitor) const override;
37 
38  void ExecuteStrategy(IStrategy& strategy) const override;
39 
40 private:
41  PreCompiledLayer(const PreCompiledLayer& other) = delete;
42  PreCompiledLayer& operator=(const PreCompiledLayer& other) = delete;
43 
44  PreCompiledObjectPtr m_PreCompiledObject;
45 };
46 
47 } // namespace armnn
std::function< void(const void *)> PreCompiledObjectDeleter
PreCompiledLayer(const PreCompiledDescriptor &param, const char *name)
std::unique_ptr< void, PreCompiledObjectDeleter > PreCompiledObjectPtr
PreCompiledLayer * Clone(Graph &graph) const override
Creates a dynamically-allocated copy of this layer.
Copyright (c) 2021 ARM Limited and Contributors.
void SetPreCompiledObject(PreCompiledObjectPtr preCompiledObject)
void ExecuteStrategy(IStrategy &strategy) const override
Apply a visitor to this layer.
virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override
void ValidateTensorShapesFromInputs() override
A PreCompiledDescriptor for the PreCompiledLayer.
void Accept(ILayerVisitor &visitor) const override
Apply a visitor to this layer.