3#if _MSC_VER >= 1900 && defined(_M_X64)
5#include "BackendBase.h"
12 class FL_EXPORT CTensor;
15 class FL_EXPORT CBackendAvgPool2D :
public CBackendBase<T>
19 CBackendAvgPool2D(
const CBackendAvgPool2D<T>& bf);
20 virtual ~CBackendAvgPool2D();
22 virtual const CResult SetParameters(int64_t _i64KernelX = 3, int64_t _i64KernelY = 3, int64_t _i64StrideX = 1, int64_t _i64StrideY = 1, int64_t _i64PaddingX = 0, int64_t _i64PaddingY = 0);
24 virtual const CResult Forward(
const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult);
25 virtual const CResult Backward(
const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult, std::vector<int64_t> vctOutputShapeAsc,
bool bAddGradient, CTensor<T>* pTsrAddGradientTemp);
27 DeclareGetClassType();
28 SupportToDuplicateObjectWithoutCreateNewObject(CBackendAvgPool2D<T>, *
this);
35 int64_t m_i64PaddingX;
36 int64_t m_i64PaddingY;