How to save model.summary() to file in Keras?
Here you have another option:
with open('modelsummary.txt', 'w') as f:
model.summary(print_fn=lambda x: f.write(x + '\n'))
If you want the formatting of summary you can pass a print
function to model.summary()
and output to file that way:
def myprint(s):
with open('modelsummary.txt','a') as f:
print(s, file=f)
model.summary(print_fn=myprint)
Alternatively, you can serialize it to a json or yaml string with model.to_json()
or model.to_yaml()
which can be imported back later.
Edit
An more pythonic way to do this in Python 3.4+ is to use contextlib.redirect_stdout
from contextlib import redirect_stdout
with open('modelsummary.txt', 'w') as f:
with redirect_stdout(f):
model.summary()