python - tf.train.AdamOptimizer 和在 keras.compile 中使用 adam 有什么区别?

标签 python tensorflow optimization keras

我正在构建一个密集的神经网络来预测扑克牌。首先我遇到了重现性问题,但后来我发现了真正的问题:我无法重现我的代码是因为 adam-optimizer,因为使用 sgd 它可以工作。 这意味着

model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

没有工作,而

opti = tf.train.AdamOptimizer()
model.compile(loss='sparse_categorical_crossentropy', optimizer=opti, metrics=['accuracy'])

具有可重复性。 所以我现在的问题是: 使用

有什么区别吗
tf.train.AdamOptimizer

model.compile(..., optimizer = 'adam')

因为由于重现问题我想使用第一个。

最佳答案

它们都是一样的。但是,在tensorflow.train.AdamOptimizer中您可以更改学习率

tf.compat.v1.train.AdamOptimizer(
    learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False,
    name='Adam')

这将提高学习成绩,并且训练时间会更长。但在 model.compile(optimizer="adam") 中,它将把学习率、beta1、beta2...等设置为默认设置

关于python - tf.train.AdamOptimizer 和在 keras.compile 中使用 adam 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61612526/

相关文章:

python - 使用 Keras,如何输入 X_train 图像(超过一千张图像)?

python - 无法理解 "Collective intelligence"程序中的一行

python - numpy.fft 和 scipy.fftpack 有什么区别?

tensorflow - 我如何使用自己的图像在 tensorFlow 中训练我的 CNN 神经网络

php - 您将如何在不重做数据库的情况下使用错误的数据库优化这个遗留 Webapp

algorithm - 在 Powershell 中打印所有 16 位二进制数的最快算法?

java - 请帮助我针对 codechef 问题优化我的代码!

python - 从线程发出时,Flask Socket.io 不起作用

python - 错误 : While importing 'wsgi' , 引发了 ImportError。 Python flask Ubuntu 20.04

python - Tensorflow:如何保存变量并将它们加载到不同的变量?