• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vgg16-pytorch

武飞扬头像
上升的蜗牛
帮助1

基于pytorch实现VGG16模型

刚听完土哥的入门pytorch,试着写一个不完善的vgg16

VGG16具体的架构:
学新通
VGG16模型构建:

卷积池化后尺寸计算公式:
学新通
学新通
引入库:

from torch import nn
from torch.nn.modules.flatten import Flatten

dilation默认为1,计算第一个卷积的步长和填充:

224 = (224 2xpadding-1x(3-1)-1)/stride   1
因为padding和stride都为整数,当padding=1,stride=1时,等式成立。

图片为3通道,输出后维64通道,卷积核为3x3,第一个卷积层为:

nn.Conv2d(in_channels=3,out_channels=64,kernel_size=3,stride=1,padding=1),
# 第二个尺寸不变,步长跟填充不变
nn.Conv2d(64,64,3,1,1),

在第一个池化这里,图片长宽都缩小二倍,当池化核为2x2时,取最显著的一个特征可达到这个标准,因此池化核为2,输入长和宽为224,输出长和宽为112,计算池化的步长

112 = (224   2*padding - 1x(2-1)-1)/stride   1
因为padding和stride都为整数,当padding=0,stride=2时,等式成立。padding默认为0可不写

学新通
因此,池化层为:

nn.MaxPool2d(kernel_size=2,stride=2)

完整模型代码如下:

from torch import nn
from torch.nn.modules.flatten import Flatten


class Vgg16(nn.Module):
    def __init__(self,category):
        super(Vgg16,self).__init__()
        self.model = nn.Sequential(
            nn.Conv2d(in_channels=3,out_channels=64,kernel_size=3,stride=1,padding=1),
            nn.Conv2d(64,64,3,1,1),
            nn.MaxPool2d(kernel_size=2,stride=2),
            nn.Conv2d(64,128,3,1,1),
            nn.Conv2d(128,128,3,1,1),
            nn.MaxPool2d(2,stride=2),
            nn.Conv2d(128,256,3,1,1),
            nn.Conv2d(256,256,3,1,1),
            nn.Conv2d(256,256,3,1,1),
            nn.MaxPool2d(2,stride=2),
            nn.Conv2d(256,512,3,1,1),
            nn.Conv2d(512,512,3,1,1),
            nn.Conv2d(512,512,3,1,1),
            nn.MaxPool2d(2,stride=2),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.MaxPool2d(2, stride=2),
            Flatten(),
            nn.Linear(512 * 7 * 7, 4096),
            nn.Linear(4096,4096),
            nn.Linear(4096, category)
        )
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiahcck
系列文章
更多 icon
同类精品
更多 icon
继续加载