模型相关类代码回顾理解 | 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表示该维度的大小由输入数据决定

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

F_D_Z

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

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

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

打赏作者

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

抵扣说明:

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

余额充值