gpt4 book ai didi

python - 默认 Adam 优化器在 tf.keras 中不起作用,但字符串 `adam` 可以

转载 作者:太空宇宙 更新时间:2023-11-03 15:32:48 28 4
gpt4 key购买 nike

我一直在试用 TensroFlow v2 beta 并且我正在试用 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' 不应该是默认的 adam 优化器,还是我遗漏了什么?我尝试了几个超参数(learning_ratebeta_1beta_2 等),但似乎都不起作用。这很重要,因为我可能不想一直使用默认超参数。

谁能解释这种行为?

最佳答案

经过一些挖掘后,似乎当您键入字符串 'adam' 时,它会调用另一个 adam,它称为 adam_v2 .

这个可以查到here .

from tensorflow.python.keras.optimizer_v2.adam import Adam

adam = Adam()

model.compile(optimizer=adam, loss='categorical_crossentropy')
model.fit(x, y)

关于python - 默认 Adam 优化器在 tf.keras 中不起作用,但字符串 `adam` 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56977277/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com