2017-05-14 85 views
0

我在具有Tensorflow CPU后端的VM Ubuntu机器上使用keras。Keras + Tensorflow model.compile优化器功能

我插科打诨与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 

我的办法处理这一亲blem是代码的这一点点:

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

尝试optimizer.__name__代替:

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

工作真棒,谢谢! –