Преобразованная модель Tensorflow JS сообщает об отсутствующей форме ввода - PullRequest
2 голосов
/ 05 апреля 2020

Я портирую пример Tensorflow Pix2Pix для запуска в браузере с TF JS. В моем обучении нет проблем, и хорошие образцы изображений периодически экспортируются из модели на протяжении всего обучения.

Чтобы экспортировать в TF JS, я загружаю модель генератора с последней контрольной точки и использую model.save(model_name.h5, save_format='h5').

Затем я преобразую модель в модель тензорного потока js, используя tensorflowjs_converter --input_format=keras model_name.h5 tfjs_model

При загрузке модели в браузере я получаю следующую ошибку:

Error: The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.

Это озадачивает, потому что первый слой генератора имеет определенную форму ввода:

def Generator(filters):
    inputs = tf.keras.layers.Input(shape=[256, 256, 3])

Кроме того, при визуализации модели перед экспортом, кажется, также определена форма ввода ,

Я использую tenorflow 2.1.0 и tenorflow js 1.7.2.

Есть предложения по решению?

Я также пытался экспортировать в формат TF save_model, но эта модель предсказывает только NaN. Я предполагаю, что вовлечено что-то более проблематичное c?

1 Ответ

0 голосов
/ 18 апреля 2020

У меня была такая же проблема, я только загрузил файл модели. json, а не файл bin, который также создается tenorflowjs_converter. Убедитесь, что вы загрузили файл модели. json, а также файлы .bin в той же папке. Файл модели. json использует файл .bin для получения весов.

...