Keras + Tensorflow model.compile optimizer function



我在带有Tensorflow CPU后端的VM Ubuntu机器上使用keras。

我正在弄乱 Keras 文本生成示例文件,我希望能够打印我当前用于编译模型的优化器函数:

optimizer = Adam(lr=0.001)
print(optimizer)
...
model.compile(loss='categorical_crossentropy', optimizer=optimizer)

打印为:

<keras.optimizers.Adam object at 0x7fdf2e406e48>

我希望将其打印为:

# either:
Adam(lr=0.001)
# or:
Adam
0.001

我解决这个问题的方法是这几段代码:

optimizer = Adam
learning_rate = 0.001
optimize_funct = optimizer(lr=learning_rate)
print(str(optimizer))
print(str(learning_rate))
...
model.compile(loss='categorical_crossentropy', optimizer=optimize_funct)

此操作运行正常,但打印不正确:

<class 'keras.optimizers.Adam'>
0.001

注意:我非常新手,可能需要对为什么这不起作用以及可能的解决方案进行基本解释。

您能提供的任何帮助将不胜感激。谢谢!

请尝试optimizer.__name__

print('{}(lr={})'.format(optimizer.__name__, learning_rate))

最新更新