问题描述
我有一个 keras
模型 (TF 2.*
),我想使用 iOS 12 版本将其转换为 mlmodel
。
根据coremltools 4
release notes:
“要将 Core ML 模型部署到 iOS12、macOS 10.13、watchOS 5、tvOS 12 或更旧版本的目标,请使用 coremltools 3 和 tfcoreml 1。”
tfcoreml
仅适用于 TF 1.*
,所以我知道我需要使用 coremltools version 3.*
。
我正在尝试 coremltools version 3.2
,我想使用此函数 [coremltools.converters.keras.convert][2]
。
我从一个简单的尝试开始,使用带有 coremltools==3.2
、tensorflow==2.4.1
、keras==2.4.3
的新鲜 venv:
base_model = load_model(keras_model_p)
coreml_model = coremltools.converters.keras.convert(model)
但我收到以下错误:
TypeError: Keras layer of type <class 'tensorflow.python.keras.engine.functional.Functional'> is not supported.
我试图改变功能部分,从:
base_model2 = load_model(keras_model_p)
top_model2 = Sequential()
top_model2.add(Permute((3,1,2)))
model2 = Model(inputs=base_model2.input,outputs=top_model2(base_model2.output))
到
base_model = load_model(keras_model_p)
model = Sequential()
model.add(base_model)
model.add(Permute((3,2)))
并收到错误消息:
TypeError: 'InputLayer' object is not iterable
第二次尝试使用第一个 TF 2.* 版本:tensorflow==2.0.0
和 keras==2.3.0
。
我执行相同但收到:
ValueError: Keras layer '<class 'tensorflow.python.keras.engine.input_layer.InputLayer'>' not supported.
我该如何解决?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)