FLImaging 6.5.16.1
DefinitionsAI.h
1#pragma once
2
3#ifdef _M_X64
4
5#include <stdint.h>
6#include <stddef.h>
7
8#define DeclareGetSignletonObject(x) static x<T>* GetSingletonObject() { static x<T> object; CComputationalGraphUtilities<T>::RegisterComputationalBaseObjects(&object); return &object; }
9
10namespace FLImaging
11{
12 namespace ImageProcessing
13 {
14 class CXorshiroRandomGenerator;
15 }
16
17 namespace AI
18 {
19 enum ENodeType
20 {
21 ENodeType_Base = 0,
22 ENodeType_ComputationalGraph,
23 ENodeType_Tensor,
24 };
25
26 enum EDataType
27 {
28 EDataType_None = 0,
29 EDataType_Float,
30 EDataType_Double,
31 };
32
33 enum EValueAttribute
34 {
35 EValueAttribute_None = 0,
36 EValueAttribute_Constant,
37 EValueAttribute_Variable,
38 EValueAttribute_Input,
39 };
40
41 enum ENodeOperator
42 {
43 ENodeOperator_None = 0,
44
45 ENodeOperator_Placeholder,
46 ENodeOperator_Augmentation,
47
48 ENodeOperator_Add,
49 ENodeOperator_Subtract,
50 ENodeOperator_Multiply,
51 ENodeOperator_MatMul,
52 ENodeOperator_Dot,
53 ENodeOperator_Divide,
54 ENodeOperator_Affine,
55 ENodeOperator_Pow,
56
57 ENodeOperator_Conv2D,
58 ENodeOperator_AvgPool2D,
59 ENodeOperator_MaxPool2D,
60 ENodeOperator_MinPool2D,
61 ENodeOperator_TransConv2D,
62 ENodeOperator_AtrousConv2D,
63 ENodeOperator_TransAtrousConv2D,
64 ENodeOperator_BatchNorm1D,
65 ENodeOperator_BatchNorm2D,
66
67 ENodeOperator_Sqrt,
68 ENodeOperator_Square,
69
70 ENodeOperator_Log,
71 ENodeOperator_Exp,
72 ENodeOperator_Tanh,
73 ENodeOperator_GELU,
74 ENodeOperator_Sigmoid,
75 ENodeOperator_SiLU,
76 ENodeOperator_ReLU,
77 ENodeOperator_LeakyReLU,
78 ENodeOperator_Softmax,
79 ENodeOperator_LogSoftmax,
80 ENodeOperator_SoftmaxWithCrossEntropy,
81 ENodeOperator_Softsign,
82 ENodeOperator_SELU,
83 ENodeOperator_CELU,
84 ENodeOperator_ELU,
85
86 ENodeOperator_Transpose,
87 ENodeOperator_Flatten,
88 ENodeOperator_Upsample,
89
90 ENodeOperator_ReduceSum,
91 ENodeOperator_ReduceMean,
92 ENodeOperator_ReduceMin,
93 ENodeOperator_ReduceMax,
94 ENodeOperator_ReduceVar,
95 ENodeOperator_ReduceStdev,
96
97 ENodeOperator_Dropout,
98 ENodeOperator_Linear,
99 ENodeOperator_Softplus,
100 ENodeOperator_Mish,
101 ENodeOperator_MaxOut,
102
103 ENodeOperator_Route,
104 ENodeOperator_Shortcut,
105 ENodeOperator_ObjectDetection,
106 ENodeOperator_ObjectDetectionProcessor,
107 ENodeOperator_Label,
108 ENodeOperator_Crop,
109
110 ENodeOperator_Maximum,
111 ENodeOperator_Minimum,
112
113 ENodeOperator_CustomObjectDetectionConvWithBatchNorm2D,
114 ENodeOperator_Concatenate,
115 ENodeOperator_ArgMax,
116 ENodeOperator_ArgMin,
117 ENodeOperator_BinCount,
118 ENodeOperator_Reshape,
119 ENodeOperator_Split2D,
120 ENodeOperator_Absolute,
121 ENodeOperator_CorrelationCoefficient,
122
123 ENodeOperator_Close2D,
124 ENodeOperator_Open2D,
125 ENodeOperator_Dilate2D,
126 ENodeOperator_Erode2D,
127
128 ENodeOperator_Ceil,
129 ENodeOperator_Floor,
130 ENodeOperator_Clip,
131 ENodeOperator_ArgSort,
132 ENodeOperator_LinSpace,
133 ENodeOperator_Product,
134 ENodeOperator_Diff,
135 ENodeOperator_Where,
136 ENodeOperator_RegionProposalNetwork,
137 ENodeOperator_MaskRCNNHead,
138 ENodeOperator_Sort,
139 ENodeOperator_TopK,
140 ENodeOperator_Random,
141 ENodeOperator_Gather,
142 ENodeOperator_SmoothL1Loss,
143 ENodeOperator_Log1p,
144 ENodeOperator_BCEWithLogistLoss,
145 ENodeOperator_ArcCos,
146 ENodeOperator_ArcTan2,
147 ENodeOperator_Sin,
148 ENodeOperator_Cos,
149 ENodeOperator_Degrees,
150 ENodeOperator_LayerNorm,
151 ENodeOperator_MultiScaleRoIAlign,
152 ENodeOperator_Threshold,
153 ENodeOperator_MaskRCNNIntermediate,
154 ENodeOperator_MaskRCNN,
155 ENodeOperator_GroupNorm,
156 ENodeOperator_Norm,
157 ENodeOperator_ConditionalConcatenate,
158 ENodeOperator_BCELoss,
159 ENodeOperator_CustomAnomalyDetectionMinMaxDiff,
160 ENodeOperator_PixelShuffle,
161 ENodeOperator_CustomAnomalyDetectionPool2D,
162 ENodeOperator_MedianPool2D,
163 ENodeOperator_RNN,
164 ENodeOperator_LSTM,
165 ENodeOperator_CTCLoss,
166 ENodeOperator_SSIM,
167 ENodeOperator_ObjectDetectionProcessorRFLNet,
168 ENodeOperator_CustomSuperResolutionUpsample,
169 ENodeOperator_Log10,
170 ENodeOperator_MSELoss,
171 ENodeOperator_CustomAnomalyDetectionMinMaxDiffInference,
172 ENodeOperator_PixelUnshuffle,
173 ENodeOperator_RReLU,
174 ENodeOperator_LabelForOCR,
175 ENodeOperator_ObjectDetectionProcessorRFLNetWithAngle,
176 ENodeOperator_AngleLoss,
177 ENodeOperator_Unfold,
178 ENodeOperator_Fold,
179 ENodeOperator_Chunk,
180 ENodeOperator_GramMatrix,
181 ENodeOperator_CustomAnomalyDetectionGradient,
182 };
183
184 enum EActivationFunction
185 {
186 EActivationFunction_Sigmoid = 0,
187 EActivationFunction_Tanh,
188 EActivationFunction_ReLU,
189 EActivationFunction_ELU,
190 EActivationFunction_SiLU
191 };
192
193 enum EPooling
194 {
195 EPooling_Max = 0,
196 EPooling_Avg
197 };
198
199 enum ESoftmaxAlgorithm
200 {
201 ESoftmaxAlgorithm_Normal = 0,
202 ESoftmaxAlgorithm_Log
203 };
204
205 enum EResizeMethod
206 {
207 EResizeMethod_ScaleAllAxises = 0,
208 EResizeMethod_ScaleMaxAxis,
209 EResizeMethod_ScaleMinAxis,
210 EResizeMethod_CropCenter,
211 EResizeMethod_CropLeftTop,
212 };
213
214 enum ELabelMethod
215 {
216 ELabelMethod_Segmentation = 0,
217 ELabelMethod_Classifier,
218 ELabelMethod_AnomalyDetection,
219 ELabelMethod_SuperResolution,
220 ELabelMethod_StringBasedOCR,
221 ELabelMethod_GAN,
222 };
223
224 enum EIoU
225 {
226 EIoU_IoU = 0,
227 EIoU_GIoU,
228 EIoU_MSE,
229 EIoU_DIoU,
230 EIoU_CIoU,
231 };
232
233 enum ENonMaximumSuppressionType
234 {
235 ENonMaximumSuppressionType_None = 0,
236 ENonMaximumSuppressionType_Greedy,
237 ENonMaximumSuppressionType_DIoU,
238 ENonMaximumSuppressionType_Corners,
239 };
240
241 enum EInternalOptimizerType
242 {
243 EInternalOptimizerType_GradientDescent = 0,
244 EInternalOptimizerType_StochasticGradientDescent,
245 EInternalOptimizerType_MomentumGradientDescent,
246 EInternalOptimizerType_AdaGradientDescent,
247 EInternalOptimizerType_RMSPropGradientDescent,
248 EInternalOptimizerType_AdamGradientDescent,
249 EInternalOptimizerType_AdaBeliefGradientDescent,
250 };
251
252 enum ELearningRateSchedulerMode
253 {
254 ELearningRateSchedulerMode_Epoch = 0,
255 ELearningRateSchedulerMode_Iteration,
256 };
257
258 enum ENormOrder
259 {
260 ENormOrder_Frobenius = 0,
261 ENormOrder_Nuclear,
262 ENormOrder_Infinite,
263 ENormOrder_MinusInfinite,
264 };
265
266 enum EReductionType : int32_t
267 {
268 EReductionType_Mean = 0,
269 EReductionType_Sum,
270 EReductionType_None,
271 };
272 enum EUniqueResultSettings
273 {
274 EUniqueResultSettings_None = 0x0,
275 EUniqueResultSettings_Index = 0x1,
276 EUniqueResultSettings_Inverse = 0x2,
277 EUniqueResultSettings_Counts = 0x4,
278 EUniqueResultSettings_Index_Inverse = EUniqueResultSettings_Index | EUniqueResultSettings_Inverse,
279 EUniqueResultSettings_Index_Counts = EUniqueResultSettings_Index | EUniqueResultSettings_Counts,
280 EUniqueResultSettings_Inverse_Counts = EUniqueResultSettings_Inverse | EUniqueResultSettings_Counts,
281 EUniqueResultSettings_Index_Inverse_Counts = EUniqueResultSettings_Index_Inverse | EUniqueResultSettings_Counts,
282 };
283
284 enum ENonlinearlity
285 {
286 ENonlinearlity_Tanh = 0,
287 ENonlinearlity_Relu,
288 };
289
290 enum EAlignMode
291 {
292 EAlignMode_Left = 0,
293 EAlignMode_Center,
294 EAlignMode_Right,
295 };
296
297 const int32_t g_i32MinimumChunkSizeOfMultiThreading = 1024;
298 }
299}
300
301#endif
EResizeMethod
Definition DefinitionsImgProcBase.h:213