FLImaging 6.5.16.1
BackendSmoothL1Loss.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "BackendBase.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CTensor;
13
14 template <typename T>
15 class FL_EXPORT CBackendSmoothL1Loss : public CBackendBase<T>
16 {
17 public:
18 CBackendSmoothL1Loss();
19 CBackendSmoothL1Loss(const CBackendSmoothL1Loss<T>& bl);
20 virtual ~CBackendSmoothL1Loss();
21
22 virtual const CResult SmoothL1Loss(const CTensor<T>* pTsrX, const CTensor<T>* pTsrTarget, CTensor<T>* pTsrResult, EReductionType eReductionType = EReductionType_Mean, T tBeta = (T)1.0);
23 virtual const CResult SmoothL1Loss_Backward(const CTensor<T>* pTsrX, const CTensor<T>* pTsrTarget, const CTensor<T>* pTsrDy, CTensor<T>* pTsrDx, EReductionType eReductionType = EReductionType_Mean, T tBeta = (T)1.0);
24
25 DeclareGetClassType();
26 SupportToDuplicateObjectWithoutCreateNewObject(CBackendSmoothL1Loss<T>, *this);
27 };
28 }
29}
30
31#endif