Keras + Tensorflow model.compile优化器功能

时间:2017-05-14 21:38:49

标签: python optimization tensorflow deep-learning keras

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

我正在搞乱Keras Text生成示例文件,我希望能够打印我目前用来编译模型的优化器函数:

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

注意:我很新,很可能需要一个基本的解释,说明为什么这不起作用,以及可能的解决方案。

非常感谢您提供的任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:1)

请尝试optimizer.__name__

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