无法使用加载的 FrozenModel 进行预测

Can't predict using loaded FrozenModel

我从 tfjs-examples/mobilenet/ 复制代码并尝试 运行 我自己的冻结模型,模型已加载,但当我尝试使用 predict 方法时产生错误。

我正在使用 0.14.2 和 Google Chrome 版本的 tfjs,71.0.3578.98

版本

我使用了 mobilenet example shown in tfjs-examples 存储库并通过 yarn watch 启动了服务器。

其次,我成功加载了自己的FrozenModel。

但是当我使用加载模型的 predict 方法输入正确的形状时,它显示以下错误:

ERROR: 0:163: 'updates' :  left of '[' is not of type array, matrix, or vecto

我只是稍微修改了 mobilenet example 中的原始 index.js,脚本如下所示:

import * as tf from '@tensorflow/tfjs';

const MODEL_URL = 'path_to_tensorflowjs_model.pb';
const WEIGHTS_URL = 'path_to_weights_manifest.json';

let gan;
const ganDemo = async () => {
  status('Loading model...');

  gan = await tf.loadFrozenModel(MODEL_URL, WEIGHTS_URL);
  gan.predict(tf.zeros([1, 3, 450, 300])).dispose(); # error here

  ...

我已经确定模型加载成功,输入的形状是正确的(我特意尝试了其他形状,如果形状不正确,它会抛出另一个错误)

如有任何建议,我们将不胜感激。

您使用的 tfjs npm 是什么版本? 能否尝试使用最新版本v1.0.0-alpha2或v0.15.1?

有一个 bug fix 与 sparseToDense 操作相关。