我的全套技术是:
我试图使用自定义对象检测器使用MLKit和一个在GCP AutoML视觉培训过的模型。
我创建了模型并作为tflite文件导出,但是在尝试执行objectDetector processImage:visionImage时,我总是得到错误:
Error Domain=com.google.visionkit.pipeline.error Code=3“管道未能完全启动:计算器图::Run()在运行中失败: Calculator::Open()表示节点"BoxClassifierCalculator”失败:#vk未预料到的输出索引维数0: got 3D,预期为2D (BxN with B=1)或4D (BxHxWxN with B=1,W=1,H=1)。“UserInfo={com.google.visionkit.status=,NSLocalizedDescription=Pipeline未能完全启动:计算器图::Run()在运行中失败: expected::Open()用于节点"BoxClassifierCalculator“失败:#vk未预料到的输出索引维数0: got 3D,预期为2D (BxN with B=1)或4D (BxHxWxN with B=1,W=1,H=1)。}。
我从https://github.com/googlesamples/mlkit下载了mlkit示例,在vision项目中有类似的东西,当我试图替换自己的tflite文件时,它的破坏方式与我自己的项目完全一样。
我认为tflite是以与MLVision完全不同的方式创建的。
有洞察力吗?(如果这很明显,很抱歉,但我对TensorFlow和MLVision还是很陌生的)谢谢
发布于 2022-06-01 00:20:58
这个问题与错误消息所说的完全一样:got 3D, expected either 2D (BxN with B=1) or 4D (BxHxWxN with B=1, W=1, H=1)。这意味着您的模型与ML不兼容,因为它的张量不正确。模型兼容性要求指定为这里。
https://stackoverflow.com/questions/72428915
复制相似问题