onnxruntime cpp yolo-cls fp16 fix (#9412)
This commit is contained in:
parent
03d0ffd9f5
commit
1ca14a9ad0
2 changed files with 14 additions and 1 deletions
|
|
@ -301,12 +301,24 @@ char* YOLO_V8::TensorProcess(clock_t& starttime_1, cv::Mat& iImg, N& blob, std::
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case YOLO_CLS:
|
case YOLO_CLS:
|
||||||
|
case YOLO_CLS_HALF:
|
||||||
{
|
{
|
||||||
|
cv::Mat rawData;
|
||||||
|
if (modelType == YOLO_CLS) {
|
||||||
|
// FP32
|
||||||
|
rawData = cv::Mat(1, this->classes.size(), CV_32F, output);
|
||||||
|
} else {
|
||||||
|
// FP16
|
||||||
|
rawData = cv::Mat(1, this->classes.size(), CV_16F, output);
|
||||||
|
rawData.convertTo(rawData, CV_32F);
|
||||||
|
}
|
||||||
|
float *data = (float *) rawData.data;
|
||||||
|
|
||||||
DL_RESULT result;
|
DL_RESULT result;
|
||||||
for (int i = 0; i < this->classes.size(); i++)
|
for (int i = 0; i < this->classes.size(); i++)
|
||||||
{
|
{
|
||||||
result.classId = i;
|
result.classId = i;
|
||||||
result.confidence = output[i];
|
result.confidence = data[i];
|
||||||
oResult.push_back(result);
|
oResult.push_back(result);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ enum MODEL_TYPE
|
||||||
//FLOAT16 MODEL
|
//FLOAT16 MODEL
|
||||||
YOLO_DETECT_V8_HALF = 4,
|
YOLO_DETECT_V8_HALF = 4,
|
||||||
YOLO_POSE_V8_HALF = 5,
|
YOLO_POSE_V8_HALF = 5,
|
||||||
|
YOLO_CLS_HALF = 6
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue