Я пробовал бета-версию TensroFlow v2 и пробовал модели tf.keras.
Когда я компилирую модель и выбираю оптимизатор в качестве строки 'adam'
. Модель можно обучить правильно:
model.compile(optimizer='adam', loss='categorical_crossentropy')
model.fit(x, y)
Но когда я пытаюсь использовать оптимизатор по умолчанию tf.keras.optimizers.Adam()
, он не может быть обучен и выводит потери nan
на каждой итерации.
adam = tf.keras.optimizers.Adam()
model.compile(optimizer=adam, loss='categorical_crossentropy')
model.fit(x, y)
Разве строка 'adam'
не должна быть оптимизатором Адама по умолчанию, или я что-то упустил? Я пробовал несколько гиперпараметров (learning_rate
, beta_1
, beta_2
и т. Д.), Но, похоже, ни один из них не работает. Это большое дело, потому что я, возможно, не захочу постоянно использовать гиперпараметры по умолчанию.
Кто-нибудь может объяснить это поведение?