10.11日志___FCN

目录:
1、数据集文件夹的\data\oxford-iiit-pet,各个文件夹的功能
2、代码讲解
3、FCN和CNN对比
4、FCN中大致讲解

1、数据集用的是\day07FCN\pet_subset,是\day07FCN\data的子集,这里讲解数据集文件夹的\day07FCN\data\oxford-iiit-pet各个文件夹的功能

图片 图片

其中的标签值y,也就是trimap_2.png为什么是纯黑色的?

图片 图片

2、代码讲解

图片

原本用的这个模型,原本模型在CPU 上每轮约 20 分钟!
FCN 通常指基于 ResNet-50 等骨干网络的经典全卷积网络。
LRASPP 则特指 Lite R-ASPP 网络,它用 MobileNetV3-Large 作为骨干,比经典 FCN 更轻量,适合移动端或边缘设备

图片 图片

3、FCN和CNN对比

用这个代码,生成day06那样的classMyModel,这个模型里的具体代码步骤展示出来,跟上面的一样

from torchvision.models.segmentation import fcn_resnet50, FCN_ResNet50_Weights

# LRASPP是轻量化分割网络(主干MobileNetV3),同样是全卷积:末端用1x1卷积分类,再上采样回原图
model=fcn_resnet50(weights=FCN_ResNet50_Weights.DEFAULT)#预训练FCN74
model.classifier[4] = nn.Conv2d(512,3, kernel_size=1)#主分类头换成3类755-
model.aux_classifier[4]=nn.Conv2d(256,3,kernel_size=1)#辅助分类头也换成3类      

4、FCN中大致讲解

fcn_pet.py:101 里的 output["out"] 形状是 (N, 3, 224, 224):每个像素对应 3 个类别分数(logits),是任意实数(比如 -2.3, 0.7, 5.1),没有归一化、也没有上下界。CrossEntropyLoss 内部自带 softmax,直接拿这些分数和 y 算损失即可。
argmax 之后的预测结果 —— 又回到只有 0/1/2
Softmax:把得分变成概率(用于计算损失)。Argmax:把概率变成类别编号(用于计算准确率)。这段代码:通过 Argmax 得到预测类别图,然后和真实标签逐个像素对比,统计预测正确的像素数量,最终算出准确率。

图片
posted @ 2026-10-11 11:41  小小冰&碎冰冰  阅读(5)  评论(0)    收藏  举报