首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"ValueError:未知优化器:动量“是动量优化器的正确名称吗?

"ValueError:未知优化器:动量“是动量优化器的正确名称吗?
EN

Stack Overflow用户
提问于 2019-11-23 19:04:08
回答 1查看 541关注 0票数 1

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

代码语言:javascript
复制
ValueError: Unknown optimizer: momentum

我使用的代码是:

代码语言:javascript
复制
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))

我试着用不同的方式输入动量,但我似乎无法修正正确的名称。那是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-23 19:52:30

TensorFlow没有简单的“动量”优化器:docs/python/tf/优化器 in Tensorflow。尽管图托里亚点引用了它。

尽管如此,它还是有MomentumOptimizer()类。

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

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

代码语言:javascript
复制
momentum = tf.train.MomentumOptimizer(lr, m)
model.compile(optimizer=momentum, loss="sparse_categorical_crossentropy", metrics=["accuracy"])
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59011145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档