Loading...
墨滴

希仔

2021/04/06  阅读:48  主题:默认主题

LeNet Model

Pytorch Practice - LeNet for cifar10

import torch.nn as nn
import torch.nn.functional as F
class LeNet(nn.Module):
    def __init__(self):
        super(LeNet, self).__init__()
        # input channels: 输入特征矩阵的深度, 例如RGB图像的in_channels = 3
        # output channels: 使用的卷积核的个数 = 输出特征矩阵的深度
        # kernel size: 卷积核的大小
        self.conv1 = nn.Conv2d(3165)  
        
        # 特征矩阵的长宽都缩小一半
        self.pool1 = nn.MaxPool2d(22)
        
        
        self.conv2 = nn.Conv2d(16325)
        self.pool2 = nn.MaxPool2d(22)pshb
        
        
        self.fc1 = nn.Linear(32*5*5120# 因为conv2卷积后特征矩阵的形状为(32,5,5)
        self.fc2 = nn.Linear(12084)
        self.fc3 = nn.Linear(8410)

    def forward(self, x):
        x = F.relu(self.conv1(x))    # input(3, 32, 32) output(16, 28, 28)
        x = self.pool1(x)            # output(16, 14, 14)
        x = F.relu(self.conv2(x))    # output(32, 10, 10)
        x = self.pool2(x)            # output(32, 5, 5)
        x = x.view(-132*5*5)       # output(32*5*5)
        x = F.relu(self.fc1(x))      # output(120)
        x = F.relu(self.fc2(x))      # output(84)
        x = self.fc3(x)              # output(10)
        return x

经卷积后的矩阵尺寸大小为

  • 输入图片大小 W x W
  • Filter/kernel大小 F x F
  • 步长 S
  • padding的像素数P

希仔

2021/04/06  阅读:48  主题:默认主题

作者介绍

希仔