Вы наблюдаете ошибку, потому что API tf.loadModel изменился в последних версиях tenorflow.js.Я мог бы заставить предсказание работать, сделав следующие изменения в проекте https://github.com/Gogul09/digit-recognizer-live:
В index.html , изменив версию на 0.10.0 вместо последней.
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.10.0"></script>
После внесения этого изменения я получил еще одну ошибку: "Аргумент 'b', переданный в 'div', должен быть тензором, но получил номер."
Чтобы это исправитьв app.js функция preprocessCanvas () изменяет тензор.див (255,0) на
tensor.div(tf.scalar(255.0))
В зависимости от того, используете ли вы модель MLP или CNNвнести изменения соответственно.Перезагрузите страницу, как только вы измените файл js.
Для этого проекта, https://github.com/Gogul09/mobile-net-projects, после жесткого кодирования версии tf js, прогноз не сработал, так как событие нажатия кнопки прогнозированияне срабатывал.Также для загрузки изображения.После замены этих строк в mobile-net.js прогноз работает.
Изменить
$("#predict-button").click(async function () {
на
$(document).on('click', '#predict-button', async function() {
Изменить
$("#select-file-image").change(function() {
на
$(document).on('change', '#select-file-image', function() {