Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios &引用;层的例外情况:149“;从PyTorch转换后CoreML模型出现问题_Ios_Pytorch_Coreml_Onnx_Onnx Coreml - Fatal编程技术网

Ios &引用;层的例外情况:149“;从PyTorch转换后CoreML模型出现问题

Ios &引用;层的例外情况:149“;从PyTorch转换后CoreML模型出现问题,ios,pytorch,coreml,onnx,onnx-coreml,Ios,Pytorch,Coreml,Onnx,Onnx Coreml,我用Pytork训练了一个YOLOv3 SPP模型。然后我将其保存为ONNX模型,然后使用ONNX-CoreML将其转换为CoreML。当我尝试使用模型进行预测时,我得到以下错误: YOLOv3-CoreML[13481:1004975] [espresso] [Espresso::handle_ex_plan] exception=Espresso exception: "Invalid state": reshape mismatching size: 13 13 24 1 1 -&

我用Pytork训练了一个YOLOv3 SPP模型。然后我将其保存为ONNX模型,然后使用
ONNX-CoreML
将其转换为CoreML。当我尝试使用模型进行预测时,我得到以下错误:

    YOLOv3-CoreML[13481:1004975] [espresso] [Espresso::handle_ex_plan] exception=Espresso exception: "Invalid state": reshape mismatching size: 13 13 24 1 1 -> 6 10 8 3 1 [Exception from Layer: 149: 300]
2020-03-16 13:46:05.248612-0500 YOLOv3-CoreML[13481:1004975] [coreml] Error computing NN outputs -1
这是我用来做预测的代码:

 if let prediction = try? model.prediction(input_1: image) {
      print("Output: \(prediction)")
    }
我做了一些挖掘以找到第149层。我使用此脚本查找其名称:

import coremltools
import numpy as np

mlmodel = coremltools.models.MLModel("model.mlmodel")
spec = mlmodel._spec

print(spec.neuralNetwork.layers[149]) 
我发现它的名字是“308”。所以我在Netron打开了模型,得到了这个:


正在讨论的图层用红色圈出。如何使我的CoreML模型正常工作?

您确定输入图像大小与此模型配合使用吗?@Matthijs Hollemans我非常确定它的大小正确。模型上说的是416 x 416,这就是我给它的。可能转换成ONNX有错误,或者从ONNX到Core ML的转换。有时这些转换工具做的事情并不正确。@MatthijsHollemans为了解决这个问题,你建议我下一步做什么?在这种情况下,我要做的是将模型转换到出现错误的位置。然后在代码中实现其余部分。但也有可能在模型本身中解决这个问题。(我需要更多的信息来提供完整的建议。)