如何在 Swift CoreML 中使 MLModel 可更新?
How to make a MLModel updatable in Swift CoreML?
我正在尝试在我的应用程序中实现可更新模型的新 CoreML 3 功能,但我无法弄清楚。
我正在 Keras 中创建一个具有 2 层的神经网络并将其转换为核心 ML 模型。然后我将该模型包含到我的 iOS 项目中。
但是 self.testmodel.model.modelDescription.isUpdatable
总是错误的,我无法理解苹果文档。
model = Sequential([
Dense(10, activation="sigmoid", input_shape=(2,)),
Dense(2, activation="relu"),
])
core_mlmodel = coremltools.converters.keras.convert(model)
core_mlmodel.save("FirstNN.mlmodel")
集成在 Swift 我现在可以使用该模型,但无法更新它
let testmodel = FirstNN()
try testmodel.prediction(input: input) // works
testmodel.model.modelDescription.isUpdatable // is false
为什么我的模型不可更新,我该如何更改?
您可以将 respect_trainable=True
参数传递给 coremltools.converters.keras.convert()
。
或者,您可以在转换后更改 mlmodel 文件以使模型可更新。示例形式的官方文档在这里:https://github.com/apple/coremltools/tree/master/examples/updatable_models
我正在尝试在我的应用程序中实现可更新模型的新 CoreML 3 功能,但我无法弄清楚。
我正在 Keras 中创建一个具有 2 层的神经网络并将其转换为核心 ML 模型。然后我将该模型包含到我的 iOS 项目中。
但是 self.testmodel.model.modelDescription.isUpdatable
总是错误的,我无法理解苹果文档。
model = Sequential([
Dense(10, activation="sigmoid", input_shape=(2,)),
Dense(2, activation="relu"),
])
core_mlmodel = coremltools.converters.keras.convert(model)
core_mlmodel.save("FirstNN.mlmodel")
集成在 Swift 我现在可以使用该模型,但无法更新它
let testmodel = FirstNN()
try testmodel.prediction(input: input) // works
testmodel.model.modelDescription.isUpdatable // is false
为什么我的模型不可更新,我该如何更改?
您可以将 respect_trainable=True
参数传递给 coremltools.converters.keras.convert()
。
或者,您可以在转换后更改 mlmodel 文件以使模型可更新。示例形式的官方文档在这里:https://github.com/apple/coremltools/tree/master/examples/updatable_models