2017-05-14 5 views
0

Ich benutze keras auf einem VM Ubuntu Rechner mit einem Tensorflow CPU-Backend.Keras + Tensorflow model.compile Optimiererfunktion

ich mit der Keras Textgenerierung Beispieldatei bin Herumspiele, und ich möchte in der Lage sein, die Optimierer Funktion zum Drucken Ich bin derzeit mit meinem Modell zu kompilieren:

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

die druckt als:

<keras.optimizers.Adam object at 0x7fdf2e406e48> 

ich dies als drucken möchten:

# either: 
Adam(lr=0.001) 

# or: 
Adam 
0.001 

mein Ansatz zur Lösung dieses pro blem war dieses kleine Stück Code:

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) 

Dies korrekt arbeitet, druckt aber falsch:

<class 'keras.optimizers.Adam'> 
0.001 

Anmerkung: Ich bin sehr neu und erfordert wahrscheinlich eine elementare Erklärung, warum dies nicht Arbeit und mögliche Lösungen.

Jede Hilfe, die Sie anbieten können, wäre sehr geschätzt. Danke!

Antwort

1

Versuchen optimizer.__name__ statt:

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

arbeitete fantastisch, danke! –

Verwandte Themen