6

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

有人有同样的问题吗?

在程序运行时,在控制台中我得到以下信息:

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>
4

3 回答 3

3

这里同样的错误,从星期五晚上(2020 年 4 月 3 日)开始发生,TFModel 在过去几周运行良好。

于 2020-04-05T05:46:31.090 回答
3

这是由使用 tf.zeros 张量的 coco-ssd 的预热运行引起的。在最近的 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>
于 2020-04-06T22:12:53.210 回答
0

我得到了同样的错误。

我的场景:我使用 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_converters 转换我的 model.pb 文件,因为它似乎是转换器版本控制问题。

于 2020-11-25T04:41:01.797 回答