CoreML – 如何创建一个简单的 MLFeatureProvider class
CoreML – How to create a simple MLFeatureProvider class
我有一个 MLModel
,其中包含一个名为 length
的输入列和一个名为 depth
的输出列。
你给它一个长度,它就预测一个深度。
我知道还有其他方法可以做到这一点,但这是为了学习 CoreML 的全部目的。
我需要构建一个 MLFeatureProvider
class 来获得该长度并输出深度。
我不确定如何创建那个 class 因为这是我第一次处理 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
}
}
}
我不确定这个 class 是否正确。
如果正确,\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
class。
Matthijs Hollemans 在正确的轨道上,并为我提供了解决该问题的线索,但不幸的是,他的解决方案缺少很多东西。
经过一段时间我找到了正确的解决方案...
class FeatureProviderX: MLFeatureProvider {
var featureNames: Set<String> {
get {
return ["length"]
}
}
var sorteio: Double
init(length: Double) {
self.length = length
}
func featureValue(for featureName: String) -> MLFeatureValue? {
if featureName == "length" {
return MLFeatureValue(double: length)
}
return nil
}
}
我有一个 MLModel
,其中包含一个名为 length
的输入列和一个名为 depth
的输出列。
你给它一个长度,它就预测一个深度。
我知道还有其他方法可以做到这一点,但这是为了学习 CoreML 的全部目的。
我需要构建一个 MLFeatureProvider
class 来获得该长度并输出深度。
我不确定如何创建那个 class 因为这是我第一次处理 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
}
}
}
我不确定这个 class 是否正确。
如果正确,\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
class。
Matthijs Hollemans 在正确的轨道上,并为我提供了解决该问题的线索,但不幸的是,他的解决方案缺少很多东西。
经过一段时间我找到了正确的解决方案...
class FeatureProviderX: MLFeatureProvider {
var featureNames: Set<String> {
get {
return ["length"]
}
}
var sorteio: Double
init(length: Double) {
self.length = length
}
func featureValue(for featureName: String) -> MLFeatureValue? {
if featureName == "length" {
return MLFeatureValue(double: length)
}
return nil
}
}