How to save model.summary() to file in Keras?

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)


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.


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):

Leave a Comment