Classification.h
Go to the source code of this file.
Classification将图像分类为用户确定的几个类别。
图像被分类为具有最高分数的类别,该分数被计算为属于每个类别的概率。
推理选项
See also: SaigeInferenceOption
类激活图
在Classification功能中,您可以计算类激活图。这提供了有关图像中每个像素的类激活程度的分布信息。 要使用此功能,请将calcClassActivationMap值设置为true,并将标志设置为SAIGE_SET_CALC_CLASS_ACTIVATION_MAP。
Warning
当应用优化功能时,无法计算。在此示例中,仅当optimize选项值为false时,才设置为计算类激活图。
174
175
176
177
178
179
180
181
182
183
184
185
186 | // ExampleClsRuntime.cpp:176
if (verbosity >= 3 && optimize == false) {
options->calcClassActivationMap = true;
retval = SaigeSetInferenceOption(handle, options, SAIGE_SET_CALC_CLASS_ACTIVATION_MAP);
if (retval < 0) {
std::cerr << "SaigeSetInferenceOption() failed - " << SaigeStrError(retval)
<< std::endl;
SaigeDestroyInferenceHandle(handle);
SaigeDestroyInferenceResult(result);
return retval;
}
}
|
检查结果
在Classification功能中,您可以获得每个类别的分数值,分类图像的类别ID和推理时间。
附加分数
您可以设置每个类别的附加分数,SaigeInferenceOption::additionalScores。这允许您为特定类别分配权重。 要获取应用此选项的结果,必须将true作为第二个参数传递给SaigeGetInferenceResultScore函数。
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285 | // ExampleClsRuntime.cpp:256
std::vector<float> score;
int classId;
score.resize(modelInfo->numOfClasses);
retval = SaigeGetInferenceResultScore(result, score.data(), true);
if (retval < 0) {
std::cerr << "SaigeGetInferenceResultScore() failed - " << SaigeStrError(retval)
<< std::endl;
SaigeDestroyInferenceHandle(handle);
SaigeDestroyInferenceResult(result);
return retval;
}
retval = SaigeGetInferenceResultClass(result, &classId);
if (retval < 0) {
std::cerr << "SaigeGetInferenceResultClass() failed - " << SaigeStrError(retval)
<< std::endl;
SaigeDestroyInferenceHandle(handle);
SaigeDestroyInferenceResult(result);
return retval;
}
retval = SaigeGetInferenceResultInspectionTime(result, &imreadTime, &inferenceTime,
&postProcessingTime);
if (retval < 0) {
std::cerr << "SaigeGetInferenceResultClass() failed - " << SaigeStrError(retval)
<< std::endl;
SaigeDestroyInferenceHandle(handle);
SaigeDestroyInferenceResult(result);
return retval;
}
|
See also: SaigeGetInferenceResultClass, SaigeGetInferenceResultScore, SaigeGetInferenceResultInspectionTime