簡體   English   中英

CoreML 模型:將 imageType 模型輸入轉換為 multiArray

[英]CoreML model: Convert imageType model input to multiArray

使用 PyTorch,我訓練了一個簡單的多類分類器,我想將其轉換為CoreML模型格式。 它已轉換,但有一個問題。

我已經進行了非常詳盡的搜索,但與 mlmodel 的輸入有關的最常見問題只是關於如何將 mlmodel 的輸入格式從MLMultiArray 更改為 UIImage因為它們必須處理圖像。 但是,如果我的模型需要 UIImage 作為輸入,而我有多數組類型的數據,我該如何更改模型的輸入以使其需要多數組數據?

轉換后我得到的模型輸入規范:

input {
  name: "input"
  type {
    imageType {
      width: 3
      height: 150
      colorSpace: GRAYSCALE
    }
  }
}

我想要的模型輸入規范:

input {
  name: "input"
  type {
      multiArrayType {
        shape: 3
        shape: 1
        shape: 150
        dataType: DOUBLE
    }
  }
}

任何幫助將不勝感激。 謝謝!

通常,當您轉換模型時,您會得到一個 MLMultiArray,除非您指定要將其作為圖像。 不確定您是如何轉換模型的,但您可能會說您不希望輸入是圖像(即不要為轉換器指定image_input_names參數)。

如果您無權訪問原始模型,您可以更改 mlmodel 文件執行以下操作(可能有錯別字):

import coremltools
mlmodel = coremltools.models.MLModel("YourModel.mlmodel")
spec = mlmodel._spec
spec.description.input[0].type.multiArrayType.shape.extend([3, 1, 150])
coremltools.util.save_spec(spec, "YourNewModel.mlmodel")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM