首页 > 解决方案 > 在仪表板上显示模型摘要

问题描述

我有一个训练有素的 Keras 模型并将其存储在变量“模型”中。当我打印时,model.summary()我会得到一个带有列标题的表格

Layer (type)        Output Shape         Param#       Connected to

如何以破折号显示此表?我需要先把它变成某种数据框吗?或者我可以调用仪表板上打印的摘要和输出吗?

我设法使用此代码将其转换为字符串。我的代码:

strlist = []
model.summary(print_fn=lambda x: strlist.append(x))
str_sum = "\n".join(strlist)

app = dash.Dash()

app.layout = html.Div(children=[
            html.Div(str_sum)
     ])

if __name__ == '__main__':
  app.run_server() 

但是我在仪表板上看到的东西看起来都是脱节的,而且顺序也不正确 。它看起来像:

Model: "model"_________________________________Layer (type) Output Shape Param #
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   
input_1 (InputLayer) [None, 256, 256, 3) 0 __________________________________
block1_conv1 (Conv2D) (None, 127, 127, 32) 864 input_1[0][0]

感谢一些输入!

标签: pythonkerasdashboardplotly-dash

解决方案


Dash 将输出呈现为 html,因此您需要特别注意换行符。尝试用app.layout以下内容替换您的行

app.layout = html.Div(html.P(
    children=str_sum, style={'whiteSpace': 'pre-wrap'}))

为我工作:

破折号模型摘要


推荐阅读