TensorflowJS TFJS error: The dtype of dict

TensorflowJS TFJS error: The dtype of dict

曾尝试运行https://glitch.com/~tar-understood-exoplanet 并且模型将无法加载,我将无法使用启用网络摄像头。

有人遇到同样的问题吗?

虽然程序是 运行ning,但在控制台中我得到以下信息:

tfjs:2 Uncaught (in promise) Error: The dtype of dict['image_tensor'] provided in model.execute(dict) must be int32, but was float32
    at Object.b [as assert] (tfjs:2)
    at tfjs:2
    at Array.forEach (<anonymous>)
    at t.checkInputShapeAndType (tfjs:2)
    at t.<anonymous> (tfjs:2)
    at tfjs:2
    at Object.next (tfjs:2)
    at tfjs:2
    at new Promise (<anonymous>)
    at Zv (tfjs:2)

我有一台 Macbook Pro,其他一些人 Windows 也遇到了一些问题 运行 模型。我们还在不同的浏览器、Safari 和 Chrome.

上进行了尝试

成功!切换到 coco-ssd 2.0.2 后:

我在第62行添加了版本2.0.2如下:

<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd@2.0.2"></script>

此处出现相同错误,自周五晚上 (04/03/2020) 以来才发生 TFModel 在过去几周表现良好。

这是coco-ssd的预热运行使用tf.zeros张量造成的。在最近发布的 TFJS 中,tf.zeros 的默认 dtype 是 'float'。 我已经发布了一个带有修复的新版本。如果您在故障示例 (index.html) 中使用最新版本的 coco-ssd (2.0.2),它应该可以工作,如下所示。

    <!-- Load the coco-ssd model to use to recognize things in images -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd@2.0.2"></script>

我遇到了同样的错误。

我的场景: 我使用 tensorflow api 作为保存模型(model.pb 文件)使用迁移学习从 tensorflow 模型动物园训练了一个预训练模型并将其转换为 tfjs 格式(model.json 和共享 .bin 文件) .

当我在 javascript(web) 上尝试 运行 这个 model.json 时,出现以下错误:

Uncaught (in promise) Error: The dtype of dict['input_tensor'] provided in model.execute(dict) must be int32, but was float32

当我在我的 javascript(web) 上尝试别人的工作转换模型(model.json 和共享的 .bin 文件)时,它成功了。

结论: 我转换后的模型有问题。我使用 tensorflowjs_converter 转换了它。我在 (model.pb) 中的原始模型在 python 中也能正常工作。

我仍在尝试使用不同的 tensorflowjs_converter 转换我的 model.pb 文件,因为这似乎是转换器版本控制问题。