2017-05-14 84 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

工作真棒,謝謝! –