FLImaging 6.6.27.1
BackendAdaptiveAvgPool2D.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "BackendBase.h"
6#include "Parameters.h"
7
8namespace FLImaging
9{
10 namespace AI
11 {
12 template <typename T>
13 class FL_EXPORT CTensor;
14
15 template <typename T>
16 class FL_EXPORT CBackendAdaptiveAvgPool2D : public CBackendBase<T>
17 {
18 public:
19 CBackendAdaptiveAvgPool2D();
20 CBackendAdaptiveAvgPool2D(const CBackendAdaptiveAvgPool2D<T>& ba);
21 virtual ~CBackendAdaptiveAvgPool2D();
22
23 virtual const CResult SetAdaptivePoolParams(const SAdaptivePoolParameters& adaptivePoolParams);
24 virtual SAdaptivePoolParameters GetAdaptivePoolParams();
25
26 virtual const CResult Forward(const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult);
27 virtual const CResult Backward(const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult, bool bAdd = false, CTensor<T>* pTsrDerivativeTemp = nullptr);
28
29 DeclareGetClassType();
30 SupportToDuplicateObjectWithoutCreateNewObject(CBackendAdaptiveAvgPool2D<T>, *this);
31
32 protected:
33 SAdaptivePoolParameters m_adaptivePoolParams;
34 };
35 }
36}
37
38#endif
Definition AlgorithmAIBase.h:16