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

模型相关类代码回顾理解 | BatchNorm2d\fc.in_features\nn.Linear\torchsummary

目录

BatchNorm2d

fc.in_features

nn.Linear

summary


BatchNorm2d

BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)

定义了一个对 64 个通道的特征图进行批量归一化的层,使用较小的 eps 值来防止除以零,使用 momentum 参数来计算移动平均值移动方差,使用可学习的缩放和平移参数,并跟踪整个训练过程中的统计数据。BatchNorm2d 是 PyTorch 中用于对二维输入进行批量归一化的模块,二位输入通常为图像。其对每个小批量数据计算均值和方差,然后对输入数据进行归一化处理,最后通过可学习的缩放参数平移参数对归一化后的数据进行缩放和平移。

  • 64:该批归一化层将处理 64 个通道的特征图。
  • eps=1e-05:计算方差时加上一个极小的数esp,防止出现除以零的情况。
  • momentum=0.1:计算移动平均值的动量参数。训练过程中BatchNorm2d会计算数据的移动平均值和移动方差,以便在推理时使用。
  • affine=True:是否使用可学习的缩放和平移参数。设置为 True则 BatchNorm2d 层会学习额外的参数,用于对归一化后的数据进行缩放和平移。
  • track_running_stats=True:是否跟踪整个训练过程中的均值和方差。设置为 True则 BatchNorm2d 层会在训练过程中不断更新这些统计数据,以便在推理时使用。

fc.in_features

num_ftrs = model_resnet18.fc.in_features 

获取模型ResNet18的全连接层的输入特征数量。通常用于在迁移学习中,将预训练的ResNet-18模型的全连接层替换为新的全连接层,以适应新的任务和数据集。例如将ResNet-18模型的全连接层替换为一个具有10个输出的全连接层,以进行10分类任务。

nn.Linear

model_resnet18.fc = nn.Linear(num_ftrs, num_classes)

nn.Linear(num_ftrs, num_classes)创建了一个新的全连接层,其中num_ftrs是输入特征数,num_classes是输出类别数。

torchsummary

summary(model_resnet18, input_size=(3, 224, 224))

summary函数是torchsummary中用于打印模型网络结构及其参数信息的函数。model_resnet18是需要打印的模型,(3, 224, 224)是输入数据的形状,表示输入数据有3个通道,大小为224x224。resnet18模型输入数据形状一般为(3, 224, 224),这意味着如果原始图像大小为96*96,也需要将其调整为224*224,与resnet 18模型训练时的大小相同。resnet18第一个卷积层通常输出形状为[-1, 64, 112, 112],-1表示该维度的大小由输入数据决定

http://www.dtcms.com/a/307026.html

相关文章:

  • Haproxy 七层代理深度解析
  • Ubuntu 本地部署和使用 n8n 指南and ai almost anything
  • REST、GraphQL、gRPC、tRPC深度对比
  • Python Day19 时间模块 和 json模块 及例题分析
  • Dify案例2:基于Workflow的小红书笔记AI智能体以及AI绘图过程中遇到的问题
  • USRP捕获手机/路由器数据传输信号波形(上)
  • Vue面试
  • HTML基础P2 | JS基础讲解
  • 《汇编语言:基于X86处理器》第10章 复习题和练习
  • HTTPS基本工作过程:基本加密过程
  • 谈谈毕业工作一年后的变化
  • c#_文件的读写 IO
  • 关系型数据库架构最优选择:基于落霞归雁思维框架的分析
  • 7月30日作业
  • Spring Boot 数据源配置中为什么可以不用写 driver-class-name
  • 第六章第一节 TIM 定时中断
  • vue2中的过滤器filter
  • 1+1>2!特征融合如何让目标检测更懂 “场景”?
  • 深入理解数据库事务:从概念到实践
  • 防止飞书重复回调通知分布式锁
  • 白话容器基础(一):进程
  • Mybatis分页查询当前页数据条数大于实际返回的数据条数
  • 拥抱智慧物流时代:数字孪生技术的应用与前景
  • Matplotlib(四)- 图表样式美化
  • Linux日志管理和时钟同步配置指南
  • OneCode3.0 框架深入研究与应用扩展
  • html页面跳转或者a标签锚点跳转,解决页面滚动问题3个(1.从底部开始滚动,2.滚动不到指定锚点位置,3.页面展示不在最上面)
  • MySQL图解索引篇(2)
  • 斯皮尔曼spearman相关系数
  • 25年新算法!基于猛禽的优化算法(BPBO):一种元启发式优化算法,附完整免费MATLAB代码