当前位置: 首页 > news >正文

python打卡day49@浙大疏锦行

知识点回顾:

  1. 通道注意力模块复习
  2. 空间注意力模块
  3. CBAM的定义

作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程

一、通道注意力模块复习 & CBAM实现

import torch
import torch.nn as nnclass CBAM(nn.Module):def __init__(self, channels, reduction=16):super().__init__()# 通道注意力self.channel_attention = nn.Sequential(nn.AdaptiveAvgPool2d(1),nn.Conv2d(channels, channels//reduction, 1),nn.ReLU(),nn.Conv2d(channels//reduction, channels, 1),nn.Sigmoid())# 空间注意力self.spatial_attention = nn.Sequential(nn.Conv2d(2, 1, 7, padding=3),nn.Sigmoid())def forward(self, x):# 通道注意力ca = self.channel_attention(x)x = x * ca# 空间注意力sa = torch.cat([torch.max(x,1)[0].unsqueeze(1), torch.mean(x,1).unsqueeze(1)], dim=1)sa = self.spatial_attention(sa)return x * sa# 在ResNet中插入CBAM
model = resnet18(pretrained=True)
model.layer1[0].add_module("cbam", CBAM(64))

二、参数统计方法

from torchsummary import summary# 检查模型参数
summary(model.to(Config.DEVICE), (3, 224, 224))

三、TensorBoard监控增强

# 在训练循环中添加
writer.add_scalar('Loss/train', running_loss/100, epoch*len(trainloader)+i)
writer.add_scalar('Accuracy/test', accuracy, epoch)# 启动TensorBoard
# 在命令行中运行:tensorboard --logdir=runs

关键点说明:

1. CBAM模块包含通道和空间注意力分支
2. 使用summary函数可显示参数量
3. TensorBoard记录需保持writer实例的持续使用

 

相关文章:

  • 逻辑回归暴力训练预测金融欺诈
  • 电路图识图基础知识-远程/本地启停电动机(二十一)
  • 记录一篇HTTPS的文章
  • 如何让hustoj支持Java判题
  • 开放词汇检测分割YOLOE从pytorch到caffe
  • Spring状态机
  • Docker简述
  • React Hooks 的原理、常用函数及用途详解
  • Python打卡训练营学习记录Day49
  • 【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
  • 2025年渗透测试面试题总结-小鹏[社招]车联网工程师(题目+回答)
  • 云南净餐馆备考单选题及答案
  • Ⅳ.计算机二级选择题(函数)
  • 前端开发面试题总结-vue2框架篇(一)
  • C++实现分布式网络通信框架MPRPC(1)--预备知识
  • DL00871-基于深度学习YOLOv11的盲人障碍物目标检测含完整数据集
  • 分布式光纤声振传感技术原理与瑞利散射机制解析
  • MySQL的pymysql操作
  • 如何选择适合你的分页方案
  • Coze 和 Dify 对比
  • 做交友网站怎么赚钱/关键词推广是什么意思
  • 中国建设银行官网站下载/网站制作多少钱
  • 十堰网站优化价格/营销是什么意思
  • 市建设局网站的综合业务管理平台/网络推广引流最快方法
  • 平面设计高端网站/今日全国疫情最新消息
  • 大悟网站制作/保定seo排名外包