swift - CoreML – 如何创建一个简单的 MLFeatureProvider 类

标签 swift macos coreml coremltools

我有一个 MLModel,它包含一个名为 length 的输入列和一个名为 depth 的输出列。

你给它一个长度,它就预测一个深度。

我知道还有其他方法可以做到这一点,但这是为了学习 CoreML 的全部目的。

我需要构建一个 MLFeatureProvider 类来获取该长度并输出深度。

我不确定如何创建该类,因为这是我第一次处理 CoreML,而且像往常一样,Apple 不关心创建像样的文档。

这就是我所拥有的

class FeatureProviderX: MLFeatureProvider {
  var featureNames: Set<String> {
    get {
      return  ["length", "depth"]
    }
  }

  func featureValue(for featureName: String) -> MLFeatureValue? {
    guard featureName == "length" else {
      return MLFeatureValue(????????????) \\1
    }
  }

}

我不确定这个类是否正确。

如果正确,\\1应该怎么写?

最佳答案

像这样:

class FeatureProviderX: MLFeatureProvider {
  let length: Double

  init(length: Double) {
    self.length = length
  }

  func featureValue(for featureName: String) -> MLFeatureValue? {
    guard featureName == "length" else {
      return MLFeatureValue(double: length)
    }
  }

  ...

要使用它进行预测,请创建一个新的 FeatureProviderX 实例并将其传递给您的 MLModel 类。

关于swift - CoreML – 如何创建一个简单的 MLFeatureProvider 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54425495/

相关文章:

ios - 我可以将 CoreML 和 PencilKit 等 Apple 库与 React-Native 应用程序一起使用吗?

swift - 我怎样才能只允许从门户进入我的虚拟场景?

ios - 如何在 Swift 中使用字符串初始化 NSTextStorage

macos - 从 shell 脚本 (Unix) 中关闭终端窗口?

python - 在 Mac 上安装 Scapy : "ImportError: No module named pcapy"

opencl - 将 OpenCL/CUDA 转换为 Metal

swift - 以编程方式在导航栏中嵌入分段控件

ios - 捕获后如何更改图像的方向?

xcode - 将 Swift 应用程序分解为框架

macos - 编译XNU内核2050