当前位置: 首页 > 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.lryc.cn/news/605267.html

相关文章:

  • c#_文件的读写 IO
  • C#_创建自己的MyList列表
  • 【36】C# WinForm入门到精通 —— flowLayoutPanel 控件 拖拽大小 “在父容器中停靠” ,“取消在父容器中停靠”
  • 独立站如何吃掉平台蛋糕?DTC模式下的成本重构与利润跃升
  • Java内存模型(JMM)
  • 地图可视化实践录:显示高德地图和百度地图
  • ica1靶机攻略
  • C#垃圾回收机制:原理与实践
  • 分享一个FPGA寄存器接口自动化工具
  • 时序数据库厂商 TDengine 发布 AI 原生的工业数据管理平台 IDMP,“无问智推”改变数据消费范式
  • 做题笔记:某大讯飞真题28道
  • 万字深度详解DHCP服务:动态IP地址分配的自动化引擎
  • 100万QPS短链系统如何设计?
  • 基于C语言实现的KV存储引擎(一)
  • 3 运算符与表达式
  • 【CVPR2025】FlowRAM:用区域感知与流匹配加速高精度机器人操作策略学习
  • 架构实战——架构重构内功心法第一式(有的放矢)
  • 《Computational principles and challenges in single-cell data integration》
  • SpringMVC 6+源码分析(一)初始化流程
  • 2021 年 NOI 最后一题题解
  • 项目文档太多、太混乱怎么解决
  • C语言高级(构造数据类型)
  • 2020 年 NOI 最后一题题解
  • REST、GraphQL、gRPC、tRPC深度对比
  • 订阅区块,部署合约,加载合约
  • 颐顿机电携手观远BI数据:以数据驱动决策,领跑先进制造智能化升级
  • 流程制造的数字孪生:从黑箱生产到全息掌控
  • Linux c网络专栏第四章io_uring
  • Linux零基础Shell教学全集(可用于日常查询语句,目录清晰,内容详细)(自学尚硅谷B站shell课程后的万字学习笔记,附课程链接)
  • Baumer工业相机堡盟工业相机如何通过YoloV8的深度学习模型实现汽车牌照的位置识别(C#代码,UI界面版)