【问题标题】:Converted Tensorflow JS model reports missing input shape转换后的 TensorFlow JS 模型报告缺少输入形状
【发布时间】:2020-07-17 00:07:54
【问题描述】:

我正在移植Tensorflow Pix2Pix example 以在带有 TFJS 的浏览器中运行。我的训练没有问题,并且在整个训练过程中会定期从模型中导出良好的样本图像。

为了导出到 TFJS,我从最新的检查点加载生成器模型,并使用 model.save(model_name.h5, save_format='h5')

然后我使用 tensorflowjs_converter --input_format=keras model_name.h5 tfjs_model 将模型转换为 tensorflow js 模型

在浏览器中加载模型时,出现以下错误:

Error: The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.

这令人费解,因为生成器的第一层确实定义了输入形状:

def Generator(filters):
    inputs = tf.keras.layers.Input(shape=[256, 256, 3])

此外,在导出前可视化模型时,它似乎还定义了一个输入形状。

我正在使用 tensorflow 2.1.0 和 tensorflowjs 1.7.2。

有什么解决方法的建议吗?

我也尝试以 TF saved_model 格式导出,但该模型只能预测 NaN。我假设涉及更多问题?

【问题讨论】:

  • 错误可能是指“下采样”功能下的顺序层。您是否尝试过在其 Conv2D 层之前添加输入层或输入形状?

标签: tensorflow tensorflow2.0 tensorflow.js


【解决方案1】:

我也遇到了同样的问题,我只上传了model.json文件,没有上传同样由tensorflowjs_converter创建的bin文件。确保您确实在同一文件夹中上传了 model.json 文件以及 .bin 文件。 model.json 文件使用 .bin 文件获取权重。

【讨论】:

    【解决方案2】:

    问题可能是由于文件不足,正如 Martjin 指出的那样,或者在您的 javaScript 代码中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      相关资源
      最近更新 更多