Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 08.06.2025
Сообщений: 3

Проблема с загрузкой Tensorflow.js модели

08.06.2025, 22:37. Показов 3224. Ответов 4

Студворк — интернет-сервис помощи студентам
У меня есть ИИ модель формата keras, которую я создал на python с использованием библиотеки tensorflow, после чего сохранил в формате .h5 и конвертировал в Tensorflow.js При попытке её загрузить в js в терминале появилась эта ошибка:

Uncaught (in promise) t: Provided weight data has no target variable: sequential/layers/dense/kernel

Как я понимаю, проблема связанна с тем, что при загрузке не удаётся найти веса для слоя dense. Я просмотрел файл model.json и нашёл тот фрагмент, в котором предположительно сама ошибка.

JSON
1
2
3
4
5
6
7
8
9
"weightsManifest": [
    {
        "paths": [ "group1-shard1of2.bin", "group1-shard2of2.bin" ],
        "weights": [
            {
                "name": "sequential/dense/kernel",
                "shape": [ 100, 7511 ],
                "dtype": "float32"
            },
Вот слой dense, о котором идёт речь

JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{
    "class_name": "Dense",
    "config": {
        "name": "dense",
        "trainable": true,
        "dtype": {
            "module": "keras",
            "class_name": "DTypePolicy",
            "config": { "name": "float32" },
            "registered_name": null
        },
        "units": 7511,
        "activation": "softmax",
        "use_bias": true,
        "kernel_initializer": {
            "module": "keras.initializers",
            "class_name": "GlorotUniform",
            "config": { "seed": null },
            "registered_name": null
        },
        "bias_initializer": {
            "module": "keras.initializers",
            "class_name": "Zeros",
            "config": {},
            "registered_name": null
        },
        "kernel_regularizer": null,
        "bias_regularizer": null,
        "kernel_constraint": null,
        "bias_constraint": null
    }
}
Я пробовал заново конвертировать модель (и использовал другие версии конвертора), вручную изменять model.json и искал в интернете похожие ситуации, но ничего из этого не помогло. Может быть кто-то знает, как это можно исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2025, 22:37
Ответы с готовыми решениями:

Проблема с загрузкой больших скриптов.
День добрый коллеги. Пробую использовать на сайте AJAX либу DOJO (http://dojotoolkit.org/). В...

Проблема с загрузкой данных из хранилища Vuex
Всем привет! У меня уже есть готовая реализация вывода данных о студентах их оценках в виде...

Кнопка загрузки файла и индикатор загрузки в этой же кнопке
Как из двух input <form action="change_avatar.php" method="post" enctype="multipart/form-data"> ...

4
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
11.06.2025, 11:43
Цитата Сообщение от Gannitto Посмотреть сообщение
Uncaught (in promise) t: Provided weight data has no target variable: sequential/layers/dense/kernel
ошибка говорит о том, что она вызвана несовместимостью структуры модели или неправильной конфигурацией во время конвертации.
0
0 / 0 / 0
Регистрация: 08.06.2025
Сообщений: 3
12.06.2025, 18:26  [ТС]
Хорошо, у меня были подозрения на то, что конвертация прошла неверно. Когда я конвертировал из .h5, мне выдало предупреждение о том, что лучше использовать формат .keras, так как h5 уже устаревший. Конвертация .keras модели не прошла, по этому мне пришлось использовать .h5 и потом уже я пытался как-то её исправить.
Сейчас я попытался снова конвертировать model.keras в Google Colab, но в терминале появилось эта ошибка в 3 строке:
BadZipFile: Bad magic number for file header

Вот на всякий случай код, который я использовал для конвертации
Python
1
2
3
4
import tensorflowjs as tfjs
from tensorflow.keras.models import load_model
model = load_model("model.keras")
tfjs.converters.save_keras_model(model, "model")
Я попытался сделать это же через терминал, но выдало ту же ошибку
Команда для конвертации, которую я использовал:
tensorflowjs_converter --input_format keras_saved_model model.keras model_tfjs

Может быть я как-то неправильно проводил конвертацию или нужно было ещё что-то сделать?
0
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
18.06.2025, 10:22
Пересохраните модель в формате SavedModel:

Code
1
model.save('saved_model_dir')  # без указания формата, по умолчанию SavedModel
Конвертируйте:

Code
1
tensorflowjs_converter --input_format=keras saved_model_dir ./tfjs_model
или, если хотите сохранить непосредственно через Python:

Python
1
2
import tensorflowjs as tfjs
tfjs.converters.save_keras_model(model, './tfjs_model')
Загрузите модель в JavaScript:

Python
1
const model = await tf.loadLayersModel('path/to/model.json');
0
0 / 0 / 0
Регистрация: 08.06.2025
Сообщений: 3
18.06.2025, 13:34  [ТС]
Цитата Сообщение от andrey_f Посмотреть сообщение
model.save('saved_model_dir')  # без указания формата, по умолчанию SavedModel
ValueError: Invalid filepath extension for saving. Please add either a `.keras` extension for the native Keras format (recommended) or a `.h5` extension. Use `model.export(filepath)` if you want to export a SavedModel for use with TFLite/TFServing/etc. Received: filepath=saved_model_dir.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2025, 13:34
Помогаю со студенческими работами здесь

Полоса загрузки изображения, отобразить прогресс загрузки
загружаю изображения на сервер с помощью аякса, подскажите как можно узнать(с помощью какой...

Анимация загрузки во время загрузки
Есть скрипт который создает анимацию загрузки страницы, но мне надо бы что бы эта анимация...

Загрузка банера,после загрузка сайта
Друзья, подскажите , через что реализовывают такую штуку, как заходишь на сайт сначала банер,...

Вывод тегов после загрузки полной загрузки документа
День добрый! В jquery и js совсем недавно, ещё не во всём разобрался, но пытаюсь применить на...

Проблемы при загрузке контента
Здравствуйте. Не знаю в какую сторону думать, прикладываю видео работы скрипта. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru