Python &引用;ValueError:未知优化器:动量“;动量优化器的正确名称?

Python &引用;ValueError:未知优化器:动量“;动量优化器的正确名称?,python,tensorflow,optimization,Python,Tensorflow,Optimization,我试图使用动量优化器来训练我的程序,但当我输入“动量”作为优化器时,它会给我以下错误: ValueError: Unknown optimizer: momentum 我使用的代码是: import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np import time start_time = time.time() data = tf.ke

我试图使用动量优化器来训练我的程序,但当我输入“动量”作为优化器时,它会给我以下错误:

ValueError: Unknown optimizer: momentum
我使用的代码是:

import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np
import time

start_time = time.time()


data = tf.keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = data.load_data()

class_names = ['T-shirt', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle Boot']

train_images = train_images/255.0

test_images = test_images/255.0

model = keras.Sequential([
                           keras.layers.Flatten(input_shape=(28, 28)),
                           keras.layers.Dense(100, activation="relu"),
                           keras.layers.Dense(10, activation="softmax")
])

model.compile(optimizer="Ftrl", loss="sparse_categorical_crossentropy", metrics=["accuracy"])

model.fit(train_images, train_labels, epochs=5)

test_loss, test_acc = model.evaluate(test_images, test_labels)

print("Test acc is:", test_acc)
print("--- %s seconds ---" % (time.time() - start_time))

我试着用不同的方式输入momentum,但似乎无法确定正确的名称。它是什么?

Tensorflow没有简单的“动量”优化器:在Tensorflow中。 尽管提到了它

然而,它有
MomentumOptimizer()

因此,您应该首先定义一个
MomentumOptimizer()
类实例,然后作为参数传递给
compile()
方法

注意:
lr
(学习率)和
m
(动量)参数需要由您定义

momentum = tf.train.MomentumOptimizer(lr, m)
model.compile(optimizer=momentum, loss="sparse_categorical_crossentropy", metrics=["accuracy"])

您的问题是关于动量的,但您的代码使用Ftrl;您正试图准确地使用哪个优化器?(你的
keras.\uuuu version\uuuuu
tf.\uuuu version\uuuu
是什么?)tf没有简单的“动量”优化器:在TensorFlow Core r2.0中,你能提供你使用的版本吗?我有另一个错误,说“self”没有定义。@KhosrawAzizi总是提供完整的错误消息、软件版本等,如果你想要一个好的答案。请看我的更新答案。是的,它有…谢谢!