实现模型可视化

要绘制该模型的结构图,你可以使用plot_model函数。在这之前,你需要确保安装了pydotGraphviz库。

pip install pydot
pip install graphviz

接着,你可以使用以下代码来绘制模型:

from tensorflow.keras.utils import plot_model

# 创建带有通道注意力的模型
cnn_model_with_attention = create_cnn_model_with_channel_attention(input_shape, num_classes)

# 将模型结构保存为图片文件
plot_model(cnn_model_with_attention, to_file='cnn_model_with_attention.png', show_shapes=True, show_layer_names=False)

这将会在你的工作目录下生成一个名为cnn_model_with_attention.png的图片文件,显示了模型的结构图,包括每一层的输入和输出形状。

完整学习测试代码

"""
# -*- coding: utf-8 -*-
# @Time    : 2023/10/8 8:37
# @Author  : 王摇摆
# @FileName: model.py
# @Software: PyCharm
# @Blog    :https://blog.csdn.net/weixin_44943389?type=blog
"""
from keras import regularizers
from tensorflow.keras import layers, models

def create_cnn_model_with_channel_attention(input_shape):
    model = models.Sequential()

    model.add(layers.Conv1D(32, 3, activation='relu', input_shape=input_shape))
    model.add(layers.MaxPooling1D(2))
    model.add(layers.Dropout(0.2))

    model.add(layers.Conv1D(64, 3, activation='relu'))
    model.add(layers.MaxPooling1D(2))
    model.add(layers.Dropout(0.2))

    # 添加通道注意力
    model.add(layers.GlobalAveragePooling1D())  # 对每个通道求平均值
    model.add(layers.Dense(64, activation='relu'))  # 注意力权重
    model.add(layers.Dense(128, activation='relu'))  # 注意力权重
    model.add(layers.Dense(1, activation='sigmoid'))

    return model


在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王摇摆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值