2

我的应用程序中有两个MLModels。第一个是生成一个MLMultiArray输出,该输出旨在用作第二个模型输入。
因为我试图让事情尽可能地表现最好。我正在考虑使用第VNImageRequestHandler一个模型输出(常规图像初始化程序。MLMultiArrayVision

像这样的东西:

   let request = VNCoreMLRequest(model: mlModel) { (request, error) in
        // handle logic?
    }
    
    request.regionOfInterest = // my region

    let handler = VNImageRequestHandler(multiArray: myFirstModelOutputMultiArray)

或者我必须经历来回转换?试图减少处理延迟。

4

1 回答 1

1

视觉使用图像(因此得名;-))。如果不想使用图片,则需要直接使用 Core ML API。

如果第一个模型的输出确实是图像,则最简单的方法是将该模型的输出类型更改为图像,以便获得 CVPixelBuffer 而不是 MLMultiArray。然后您可以使用 Vision 直接将此 CVPixelBuffer 传递给下一个模型。

于 2021-06-15T09:01:50.943 回答