Ошибка TFJS TensorflowJS: тип dict

Пытался запустить https://glitch.com/~tar-understand-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:

Я добавил версию 2.0.2 в строку 62 следующим образом:

<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/[email protected]"></script>

person Claire Kim    schedule 04.04.2020    source источник
comment
Спасибо за сообщение об этом, Клэр - я спрошу, знает ли кто-нибудь из команды ответ в понедельник!   -  person Jason Mayes    schedule 05.04.2020
comment
Для Chrome это могло быть вызвано тем, что 04/04 они развернули политику файлов cookie SameSite, которая вызывает проблему.   -  person RainCast    schedule 05.04.2020


Ответы (3)


Это вызвано прогревом coco-ssd, который использует тензор tf.zeros. По умолчанию dtype для tf.zeros в последней версии TFJS - float. Выложил новую версию с исправлениями. Он должен работать, если вы используете последнюю версию coco-ssd (2.0.2) в примере сбоя (index.html), как показано ниже.

    <!-- Load the coco-ssd model to use to recognize things in images -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/[email protected]"></script>
person Ping Yu    schedule 06.04.2020
comment
См. Выше, пожалуйста! - person Claire Kim; 08.04.2020
comment
Код загрузки модели закомментирован в файле index.js (строки 36-41). Ошибка не имеет отношения к TensorFlow.js. - person Ping Yu; 08.04.2020

Та же ошибка, только что произошла с вечера пятницы (03.04.2020). TFModel хорошо работает в последние несколько недель.

person RainCast    schedule 05.04.2020

У меня такая же ошибка.

My Scenerio: я обучил предварительно обученную модель из зоопарка моделей тензорного потока с использованием трансферного обучения с использованием tenorflow api в качестве сохраненной модели (файл model.pb) и преобразовал ее в формат tfjs (model.json и общий .bin файлы).

Когда я попытался запустить этот model.json в javascript (в Интернете), он выдает следующую ошибку:

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

Когда я попробовал на своем javascript (в Интернете) использовать чью-то другую рабочую преобразованную модель (model.json и общие файлы .bin), это сработало.

Вывод. Что-то не так с моей преобразованной моделью. Я преобразовал его с помощью tensorflowjs_converter. Моя исходная модель в (model.pb) точно работает и на python.

Я все еще пытаюсь преобразовать мой файл model.pb с помощью разных tensorflowjs_converters, поскольку это, похоже, проблема с версией конвертеров.

person Parth Lathiya    schedule 25.11.2020
comment
Вы можете преобразовать тензоры dtype, используя .toInt() или по мере необходимости, в моем случае .toFloat() js .tensorflow.org / api / 1.0.0 / # tf.Tensor.toInt - person Joba; 26.11.2020