我在带有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
注意:我很新,很可能需要一个基本的解释,说明为什么这不起作用,以及可能的解决方案。
非常感谢您提供的任何帮助。 谢谢!
答案 0 :(得分:1)
请尝试optimizer.__name__
:
print('{}(lr={})'.format(optimizer.__name__, learning_rate))