获取keras mod的学习率

2024-05-26 19:53:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我似乎无法理解学习速度的价值。我得到的是下面。

我尝试了200个时代的模型,想看看/改变学习率。这不是正确的方法吗?

>>> print(ig_cnn_model.optimizer.lr)
<tf.Variable 'lr_6:0' shape=() dtype=float32_ref>

Tags: 方法模型modeltfvariable速度cnnoptimizer
3条回答

使用eval()来自keras.backend

import keras.backend as K
from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(1, input_shape=(1,)))
model.add(Dense(1))

model.compile(loss='mse', optimizer='adam')
print(K.eval(model.optimizer.lr))
>>>0.001

获取与优化器相关的所有信息的最佳方法是使用.get_config()

示例:

model.compile(optimizer=optimizerF,
                  loss=lossF,
                  metrics=['accuracy'])

model.optimizer.get_config()

>>> {'name': 'Adam', 'learning_rate': 0.001, 'decay': 0.0, 'beta_1': 0.9, 'beta_2': 0.999, 'epsilon': 1e-07, 'amsgrad': False}

它返回包含所有信息的dict。

你可以通过

from keras.optimizers import Adam

model.compile(optimizer=Adam(lr=0.001), 
              loss='categorical_crossentropy', 
              metrics=['accuracy'])

相关问题 更多 >

    热门问题