Keras相当于tensorflow优化器

Keras相当于tensorflow优化器,tensorflow,keras,Tensorflow,Keras,我需要将神经网络从TF转换为Keras。 有点简单,除了Tensorflow中的“动量”优化器 我最好的猜测是TF中的“动量”将是Keras中的SGD。 这是正确的吗 如果是这样,我应该在Keras中设置什么样的默认hyparparameters“lr,momentum,decay,nesterov”来匹配TF中的默认调用“optimizer=momentum” 谢谢大家! 要翻译的行: network = regression( network, optimizer='momentum', l

我需要将神经网络从TF转换为Keras。 有点简单,除了Tensorflow中的“动量”优化器

我最好的猜测是TF中的“动量”将是Keras中的SGD。 这是正确的吗

如果是这样,我应该在Keras中设置什么样的默认hyparparameters“lr,momentum,decay,nesterov”来匹配TF中的默认调用“optimizer=momentum”

谢谢大家!

要翻译的行:

network = regression(
network,
optimizer='momentum',
loss='categorical_crossentropy'
)
查看优化器上的Keras

您有两个选项:要么在编译模型时按名称定义优化器,在这种情况下,将应用默认选项:

model.compile(loss=..., optimizer='sgd')
或者单独实例化优化器对象,并在将其传递到
model.compile()之前指定其他选项:


您试图翻译的TensorFlow代码似乎正在使用高级API TF learn

默认情况下,TF learn中的动量对象使用以下值初始化:

def __init__(self, learning_rate=0.001, momentum=0.9, lr_decay=0.,
             decay_step=100, staircase=False, use_locking=False,
             name="Momentum"):
它也不使用Nesterov动量。有关更多信息,请参阅

要将其翻译为Keras,我将使用:

#define all your layers in the network variable
momentum = keras.optimizers.SGD(lr=0.001, momentum=0.9, decay=0., nesterov=False)
network.compile(loss='categorical_crossentropy', optimizer=momentum)

你能补充一点细节吗?例如,您要翻译的代码行及其相关代码?
#define all your layers in the network variable
momentum = keras.optimizers.SGD(lr=0.001, momentum=0.9, decay=0., nesterov=False)
network.compile(loss='categorical_crossentropy', optimizer=momentum)