日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyTorch 实现经典模型8:FCN

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyTorch 实现经典模型8:FCN 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FCN

網絡結構



代碼

class fcn(nn.Module):def __init__(self, num_classes):super(fcn, self).__init__()self.stage1 = nn.Sequential(*list(pretrained_net.children())[:-4]) # 第一段self.stage2 = list(pretrained_net.children())[-4] # 第二段self.stage3 = list(pretrained_net.children())[-3] # 第三段self.scores1 = nn.Conv2d(512, num_classes, 1)self.scores2 = nn.Conv2d(256, num_classes, 1)self.scores3 = nn.Conv2d(128, num_classes, 1)self.upsample_8x = nn.ConvTranspose2d(num_classes, num_classes, 16, 8, 4, bias=False)self.upsample_8x.weight.data = bilinear_kernel(num_classes, num_classes, 16) # 使用雙線性 kernelself.upsample_4x = nn.ConvTranspose2d(num_classes, num_classes, 4, 2, 1, bias=False)self.upsample_4x.weight.data = bilinear_kernel(num_classes, num_classes, 4) # 使用雙線性 kernelself.upsample_2x = nn.ConvTranspose2d(num_classes, num_classes, 4, 2, 1, bias=False) self.upsample_2x.weight.data = bilinear_kernel(num_classes, num_classes, 4) # 使用雙線性 kerneldef forward(self, x):x = self.stage1(x)s1 = x # 1/8x = self.stage2(x)s2 = x # 1/16x = self.stage3(x)s3 = x # 1/32s3 = self.scores1(s3)s3 = self.upsample_2x(s3)s2 = self.scores2(s2)s2 = s2 + s3s1 = self.scores3(s1)s2 = self.upsample_4x(s2)s = s1 + s2s = self.upsample_8x(s2)return s

Ref

  • https://github.com/Jichao-Zhao/Semantic_Segmentation_Exer
  • FCN 的簡單實現
  • 總結

    以上是生活随笔為你收集整理的PyTorch 实现经典模型8:FCN的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。