Модель Tensorflow JS дает отличные результаты от модели Tensorflow python при обучении на тех же данных - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть модель тензорного потока python, использующая Keras, которая хорошо работает, которую я хотел бы воспроизвести и использовать в браузере для обучения и прогнозирования в браузере. Вот модель python:

model = tf.keras.Sequential([
  layers.BatchNormalization(input_shape=(199,)),  
  layers.Dense(128, activation='relu'),
  layers.Dropout(0.25),  
  layers.Dense(8, activation='sigmoid')
])

Когда я экспортирую модель и импортирую ее в tf js, используя tfjs.converters.save_keras_model(model, tfjs_export_file_name), она отлично работает в браузере - те же входные данные дают те же результаты.

Однако, когда я создаю новую модель tf js с той же топологией, что и в python, и обучаю ее в браузере на тех же данных, я получаю очень разные результаты.

    const model = tf.sequential({
        layers: [
        tf.layers.batchNormalization({inputShape:[199]}),
        tf.layers.dense({units: 128, inputShape:[199],useBias:true,activation: 'relu'}),
        tf.layers.dropout({rate:0.25}),
        tf.layers.dense({units: 8, activation: 'sigmoid'}),
        ]
    });

Тренировка, метка и входные данные были проверены трижды. Они одинаковы.

Моя цель - создать и обучить модель в tf js, которая соответствует выводу Python.

Упрощенная версия, воссоздающая проблему, здесь: https://github.com/blairwheadon/tftest/tree/master

Спасибо за ваши идеи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...