如何在ML.NET对象检测中更改ONNX模型

时间:2020-07-24 07:06:04

标签: .net ml.net onnx

我使用this example创建了对象识别应用。我想将模型更改为YOLOv4。我找不到解决方法。 在本教程中,这段代码片段:

CopyTo()

正在设置标签。 在这种方法中:

    private string[] labels = new string[]
{
    "aeroplane", "bicycle", "bird", "boat", "bottle",
    "bus", "car", "cat", "chair", "cow",
    "diningtable", "dog", "horse", "motorbike", "person",
    "pottedplant", "sheep", "sofa", "train", "tvmonitor"
};

我正在获得预测的课程数量。 public float[] ExtractClasses(float[] modelOutput, int x, int y, int channel) { float[] predictedClasses = new float[CLASS_COUNT]; int predictedClassOffset = channel + BOX_INFO_FEATURE_COUNT; for (int predictedClass = 0; predictedClass < CLASS_COUNT; predictedClass++) { predictedClasses[predictedClass] = modelOutput[GetOffset(x, y, predictedClass + predictedClassOffset)]; } return Softmax(predictedClasses); } 是模型可以识别的类数(在TinyYOLOv2中有20个类)。然后我从上面发布的数组中按预测类的索引获得标签。

所以,我的问题是,如何获得哪个模型可以识别的类?例如,我希望能够检测100种对象。还是我误会了,应该训练模型以获取想要的此类课程?

0 个答案:

没有答案