ArmNN  NotReleased
Pooling2dLayer.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
8 
9 namespace armnn
10 {
11 
13 class Pooling2dLayer : public LayerWithParameters<Pooling2dDescriptor>
14 {
15 public:
20  virtual std::unique_ptr<IWorkload> CreateWorkload(const IWorkloadFactory& factory) const override;
21 
24  Pooling2dLayer* Clone(Graph& graph) const override;
25 
28  void ValidateTensorShapesFromInputs() override;
29 
34  std::vector<TensorShape> InferOutputShapes(const std::vector<TensorShape>& inputShapes) const override;
35 
36  void Accept(ILayerVisitor& visitor) const override;
37 
38 protected:
42  Pooling2dLayer(const Pooling2dDescriptor& param, const char* name);
43 
45  ~Pooling2dLayer() = default;
46 };
47 
48 } // namespace
std::vector< TensorShape > InferOutputShapes(const std::vector< TensorShape > &inputShapes) const override
Pooling2dLayer * Clone(Graph &graph) const override
This layer represents a pooling 2d operation.
virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override
void ValidateTensorShapesFromInputs() override
Pooling2dLayer(const Pooling2dDescriptor &param, const char *name)
A Pooling2dDescriptor for the Pooling2dLayer.
~Pooling2dLayer()=default
Default destructor.
void Accept(ILayerVisitor &visitor) const override