У меня есть модель тензорного потока 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
Спасибо за ваши идеи!