Keras有model.summary() method。它将表打印到stdout。是否可以将其保存到文件中?
答案 0 :(得分:17)
如果您想要格式化摘要,可以将print
函数传递给model.summary()
并以这种方式输出到文件:
def myprint(s):
with open('modelsummary.txt','w+') as f:
print(s, file=f)
model.summary(print_fn=myprint)
或者,您可以将其序列化为带有model.to_json()
或model.to_yaml()
的json或yaml字符串,以后可以将其导回。
在Python 3.4+中执行此操作的更多pythonic方法是使用contextlib.redirect_stdout
from contextlib import redirect_stdout
with open('modelsummary.txt', 'w') as f:
with redirect_stdout(f):
model.summary()
答案 1 :(得分:4)
这里还有一个选择:
with open('modelsummary.txt', 'w') as f:
model.summary(print_fn=lambda x: f.write(x + '\n'))