该模型没有图像类型的有效输入特征 -> 创建 ML

Posted

技术标签:

【中文标题】该模型没有图像类型的有效输入特征 -> 创建 ML【英文标题】:The model does not have a valid input feature of type image -> Create ML 【发布时间】:2020-04-17 00:57:58 【问题描述】:

我使用 Create ML 创建了一个 ML 模型,这是关于情感识别的。

作为输入文件,我上传了一个 CSV 文件。数据由 48x48 像素的人脸灰度图像组成。面部已自动注册,因此面部或多或少居中并在每张图像中占据大约相同的空间。任务是根据面部表情中显示的情绪将每张脸分为七类之一(0 = 愤怒、1 = 厌恶、2 = 恐惧、3 = 快乐、4 = 悲伤、5 = 惊讶、6 = 中性) .

我得到的模型有超过 87% 的准确率,但是当我在我的 Xcode 项目中使用它时,我得到了以下错误:

  func setup() 
    do 
      // Gender request
      requests.append(VNCoreMLRequest(
        model: try VNCoreMLModel(for: GenderNet().model),
        completionHandler: handleGenderClassification
      ))
      // Age request
      requests.append(VNCoreMLRequest(
        model: try VNCoreMLModel(for: AgeNet().model),
        completionHandler: handleAgeClassification
      ))
      // Emotions request
      requests.append(VNCoreMLRequest(
        model: try VNCoreMLModel(for: test().model),
        completionHandler: handleEmotionClassification
      ))
     catch 
      assertionFailure("Can't load Vision ML model: \(error)")
    
  
      Fatal error: Can't load Vision ML model: Error Domain=com.apple.vis Code=15 
    "The model does not have a valid input feature of type image"
    UserInfo=NSLocalizedDescription=The model does not have a valid input feature of type image:
    file /Users/ivandimitrov/Desktop/Faces/Faces/ClassificationService.swift, line 38

您对如何解决这个问题有任何想法吗?

【问题讨论】:

【参考方案1】:

您的输入未被识别为图像,您可以通过在 Xcode 中单击您的模型来验证这一点: 我的输入是 Image 类型,但你的可能是另一种类型。

运行转换脚本时,例如coremltools.converters.tensorflow.convert(model, ...),您需要提供参数image_input_names,该参数应与输入层的名称匹配。

【讨论】:

以上是关于该模型没有图像类型的有效输入特征 -> 创建 ML的主要内容,如果未能解决你的问题,请参考以下文章

如何在神经网络算法中一起处理文本和图像输入[关闭]

Bag of words模型

基于图像和文本特征的 TensorFlow 训练模型,具有多类输出

多模态特征融合:图像语音文本如何转为特征向量并进行分类

在 CNN,我怎么能决定不。输入图像和第一个隐藏层之间的特征映射等等?

卷积模型分类图片