快速入门
本章介绍如何应用Mech-DLK SDK实现Mech-DLK训练的缺陷分割模型的推理。
准备工作
函数说明
下面以Mech-DLK导出的缺陷分割模型为例,介绍应用Mech-DLK SDK实现模型推理时使用的函数。
创建输入图像
调用以下函数创建输入图像。
-
C#
-
C++
-
C
MMindImage image = new MMindImage();
image.CreateFromPath("path/to/image.png");
List<MMindImage> images = new List<MMindImage> { image };
mmind::dl::MMindImage image;
image.createFromPath(“path/to/image.png”);
std::vector<mmind::dl::MMindImage> images = {image};
MMindImage input;
createImage("path/to/image.png", &input);
创建推理引擎
调用以下函数创建创建推理引擎。
-
C#
-
C++
-
C
InferEngine inferEngine = new InferEngine();
inferEngine.Create("path/to/xxx.dlkpack", BackendType.GpuDefault, 0);
|
mmind::dl::MMindInferEngine engine;
engine.create(kPackPath);
// engine.setInferDeviceType(mmind::dl::InferDeviceType::GpuDefault);
// engine.setBatchSize(1);
// engine.setFloatPrecision(mmind::dl::FloatPrecisionType::FP32);
// engine.setDeviceId(0);
engine.load();
C++接口中模型参数可自行设置:
|
Engine engine;
createPackInferEngine(&engine, "path/to/xxx.dlkpack", GpuDefault, 0);
|
深度学习引擎推理
调用以下函数进行深度学习引擎推理。
-
C#
-
C++
-
C
inferEngine.Infer(images);
engine.infer(images);
infer(&engine, &input, 1);
此函数中,参数1 表示推理的图片数量,必须与input 中的图片数量相同。
|
获取缺陷分割结果
调用以下函数得到缺陷分割模型的结果。
-
C#
-
C++
-
C
List<Result> results;
inferEngine.GetResults(out results);
std::vector<mmind::dl::MMindResult> results;
engine.getResults(results);
DefectAndEdgeResult* defectAndEdgeResult = NULL;
unsigned int resultNum = 0;
getDefectSegmentataionResult(&engine, 0, &defectAndEdgeResult, &resultNum);
此函数中,第二个参数
|