关于在建立模型时使用model.summary()打印模型概况出错无法打印,出现 ?unbuilt无法计算的情况

无法计算情况展示

出错代码

import tensorflow as tf
from tensorflow import keras
# 定义模型
model = keras.models.Sequential([
    keras.layers.Embedding(input_dim=2000, output_dim=64, input_length=100),
    keras.layers.LSTM(128, return_sequences=True),
    keras.layers.Dropout(0.2),
    keras.layers.LSTM(64, return_sequences=True),
    keras.layers.Dropout(0.2),
    keras.layers.LSTM(32),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(64, activation='relu'),
    keras.layers.Dropout(0.2),
    keras.layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 打印模型概况
model.summary()

结果如图

在这里插入图片描述

解决方案

出错原因

出错的原因是在建立模型时我们并没有定义模型输入的形状,所以此时模型建立是并不完整的,这意味着模型不知道输入数据的形状。这不允许 Keras 在内部自动构建模型的每一层,因为每一层都要推断其输入的形状。

解决方案1

在模型建立的开头加入对数据输入形状的定义代码

keras.layers.Input(shape=(100,)),

如下
在这里插入图片描述
这样我们就可以成功打印模型概况了
在这里插入图片描述

解决方案2

在打印模型概况前加入构建模型代码

# 构建模型
model.build(input_shape=(None, 100)) # None 表示批量大小可以是任意的,100 是输入长度

如下图
在这里插入图片描述
结果如下:
在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-05-03 03:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-03 03:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-03 03:08:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-03 03:08:01       20 阅读

热门阅读

  1. C++容器库概览

    2024-05-03 03:08:01       12 阅读
  2. 论文辅助笔记:TEMPO之feature.py

    2024-05-03 03:08:01       15 阅读
  3. 智能数据分析平台待修复BUG以及待完成需求

    2024-05-03 03:08:01       14 阅读
  4. WPS文字页面横向

    2024-05-03 03:08:01       14 阅读
  5. 6、FreeCAD的设计

    2024-05-03 03:08:01       12 阅读
  6. MySQL-笔记-09.存储过程及触发器的使用

    2024-05-03 03:08:01       12 阅读
  7. fastjson组件的使用

    2024-05-03 03:08:01       11 阅读
  8. python 如何判断是函数还是方法 (function or method)

    2024-05-03 03:08:01       11 阅读
  9. windows版本的epoll

    2024-05-03 03:08:01       13 阅读
  10. 全面解析Unity至Unreal的项目迁移流程

    2024-05-03 03:08:01       13 阅读