FLImaging 7.2.4.2
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 {
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 ENodeOperator_AdaptiveAvgPool2D,
183 ENodeOperator_Involution,
184 ENodeOperator_FractionalMaxPool2D,
185 ENodeOperator_GlobalMaxPool2D,
186 ENodeOperator_GlobalMinPool2D,
187 ENodeOperator_ObjectDetectionProcessorRFLNetOriented,
188 ENodeOperator_CoordConv2D,
189 ENodeOperator_GlobalMedianPool2D,
190 ENodeOperator_Upsample3D,
191 };
192
193 enum EActivationFunction
194 {
195 EActivationFunction_Sigmoid = 0,
196 EActivationFunction_Tanh,
197 EActivationFunction_ReLU,
198 EActivationFunction_ELU,
199 EActivationFunction_SiLU
200 };
201
202 enum EPooling
203 {
204 EPooling_Max = 0,
205 EPooling_Avg
206 };
207
208 enum ESoftmaxAlgorithm
209 {
210 ESoftmaxAlgorithm_Normal = 0,
211 ESoftmaxAlgorithm_Log
212 };
213
214 enum EResizeMethod
215 {
216 EResizeMethod_ScaleAllAxises = 0,
217 EResizeMethod_ScaleMaxAxis,
218 EResizeMethod_ScaleMinAxis,
219 EResizeMethod_CropCenter,
220 EResizeMethod_CropLeftTop,
221 };
222
223 enum ELabelMethod
224 {
225 ELabelMethod_Segmentation = 0,
226 ELabelMethod_Classifier,
227 ELabelMethod_AnomalyDetection,
228 ELabelMethod_SuperResolution,
229 ELabelMethod_StringBasedOCR,
230 ELabelMethod_GAN,
231 };
232
233 enum EIoU
234 {
235 EIoU_IoU = 0,
236 EIoU_GIoU,
237 EIoU_MSE,
238 EIoU_DIoU,
239 EIoU_CIoU,
240 };
241
242 enum ENonMaximumSuppressionType
243 {
244 ENonMaximumSuppressionType_None = 0,
245 ENonMaximumSuppressionType_Greedy,
246 ENonMaximumSuppressionType_DIoU,
247 ENonMaximumSuppressionType_Corners,
248 };
249
250 enum EInternalOptimizerType
251 {
252 EInternalOptimizerType_GradientDescent = 0,
253 EInternalOptimizerType_StochasticGradientDescent,
254 EInternalOptimizerType_MomentumGradientDescent,
255 EInternalOptimizerType_AdaGradientDescent,
256 EInternalOptimizerType_RMSPropGradientDescent,
257 EInternalOptimizerType_AdamGradientDescent,
258 EInternalOptimizerType_AdaBeliefGradientDescent,
259 };
260
261 enum ELearningRateSchedulerMode
262 {
263 ELearningRateSchedulerMode_Epoch = 0,
264 ELearningRateSchedulerMode_Iteration,
265 };
266
267 enum ENormOrder
268 {
269 ENormOrder_Frobenius = 0,
270 ENormOrder_Nuclear,
271 ENormOrder_Infinite,
272 ENormOrder_MinusInfinite,
273 };
274
275 enum EReductionType : int32_t
276 {
277 EReductionType_Mean = 0,
278 EReductionType_Sum,
279 EReductionType_None,
280 };
281 enum EUniqueResultSettings
282 {
283 EUniqueResultSettings_None = 0x0,
284 EUniqueResultSettings_Index = 0x1,
285 EUniqueResultSettings_Inverse = 0x2,
286 EUniqueResultSettings_Counts = 0x4,
287 EUniqueResultSettings_Index_Inverse = EUniqueResultSettings_Index | EUniqueResultSettings_Inverse,
288 EUniqueResultSettings_Index_Counts = EUniqueResultSettings_Index | EUniqueResultSettings_Counts,
289 EUniqueResultSettings_Inverse_Counts = EUniqueResultSettings_Inverse | EUniqueResultSettings_Counts,
290 EUniqueResultSettings_Index_Inverse_Counts = EUniqueResultSettings_Index_Inverse | EUniqueResultSettings_Counts,
291 };
292
293 enum ENonlinearlity
294 {
295 ENonlinearlity_Tanh = 0,
296 ENonlinearlity_Relu,
297 };
298
299 enum EAlignMode
300 {
301 EAlignMode_Left = 0,
302 EAlignMode_Center,
303 EAlignMode_Right,
304 };
305
311 {
312
318
324 };
325
326 const int32_t g_i32MinimumChunkSizeOfMultiThreading = 1024;
327 }
328}
329
330#endif
A pseudo random number generator A 32/64bit PRNG based on Xoroshiro64** /Xoroshiro128++ methods.
Definition XorshiroRandomGenerator.h:24
Definition AlgorithmAIBase.h:18
EBlankColorMethod
Definition DefinitionsAI.h:311
@ EBlankColorMethod_InpaintingFMM
Definition DefinitionsAI.h:323
@ EBlankColorMethod_ZeroPadding
Definition DefinitionsAI.h:317
Definition AbsoluteThreshold.h:25