【发布时间】:2021-09-12 06:49:08
【问题描述】:
我有一个子类语音识别模型 (link),我想用它在我的 node.js 服务器上进行推断。我正在尝试使用 tfjs 对其进行转换,但由于它是子类模型,我收到以下错误:
NotImplementedError: Saving the model to HDF5 format requires the model to be a Functional model or a Sequential model. It does not work for subclassed models, because such models are defined via the body of a Python method, which isn't safely serializable. Consider saving to the Tensorflow SavedModel format (by setting save_format="tf") or using `save_weights`.
我正在关注official tutorial,这不包括这种情况。令人惊讶的是,除了closed issue,我在网上找不到太多信息。
关于如何将子类模型转换为tensorflowjs 的任何想法?
【问题讨论】:
-
不要这样保存你的模型:
model.save("model.h5")。保存为 SavedModel 格式,如下所示:model.save("target_directory"). -
我将
.pb模型提供给 tensorflowjs_converter。如果我们谈论的是 python 代码,我尝试了上面链接教程中提到的tensorflowjs.converters.save_keras_model(model, out) -
请在您的问题中添加您保存模型的代码以及加载和转换模型的位置。找出您传递了哪些变量或可能有什么问题有点困难。
-
我只是按照上面问题中链接的官方教程进行操作
标签: tensorflow keras speech-recognition tensorflow.js tensorflowjs-converter