簡體   English   中英

動態加載mlmodel

[英]Loading mlmodel dynamically

我正在體驗CoreML對項目的能力。 這是我設法做的:

  1. 使用Python中的scikit-learn創建.pkl文件
  2. 使用coremltools包將其轉換為.mlmodel文件
  3. 將其下載到我的iOS應用程序
  4. 在運行時編譯它:

     let classifierName = "classifier1" let fileName = NSString(format:"%@.mlmodel",classifierName) let documentsUrl:URL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first as URL! let destinationFileUrl = documentsUrl.appendingPathComponent(fileName as String) let compiledModelUrl = try? MLModel.compileModel(at: destinationFileUrl) let model = try? MLModel(contentsOf: compiledModelUrl!) 

現在,我想用我的模型進行預測。 我嘗試在一個示例應用程序中直接嵌入.mlmodel文件,它允許XCode在構建時創建一個包裝類來實例化輸入:

let multiArr = try? MLMultiArray.init(shape: [1], dataType: .double)
let input = classifier1Input(input: multiArr!)
let output = try? model.prediction(input: input)

但是因為我在運行時從服務器下載文件,所以我無法訪問這種包裝類。

let predict = model?.prediction(from: <MLFeatureProvider>)

有任何想法嗎 ?

最簡單的解決方案:將Xcode生成的包裝類復制到Swift文件中並將其添加到項目中。 (請注意,此包裝類還顯示了如何創建MLFeatureProvider等)

暫無
暫無

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

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