深度学习

LeNet神经网络

Posted by 潇湘潞 on April 21, 2026

前言

LeNet,它是最早发布的神经神经网络之一。这个模型是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并生成唤醒),目的是识别图像 ( LeCun et al. , 1998 )中的手写数字。 LeCun发表了第一篇通过逆向传播成功训练神经网络的研究,这项工作代表了十多年来神经网络研究开发的成果。

LeNet

LeNet模型代码:

import torch
import torch.nn as nn

class MyLeNet5(nn.Module):
    def __init__(self):
        super(MyLeNet5, self).__init__()

        self.LeNet5 = nn.Sequential(
            nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, padding=2),
            nn.Sigmoid(),
            nn.AvgPool2d(kernel_size=2, stride=2),
            nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5),
            nn.Sigmoid(),
            nn.AvgPool2d(kernel_size=2, stride=2),
            nn.Flatten(),
            
            nn.Linear(in_features=16 * 5 * 5, out_features=120),
            nn.Sigmoid(),
            nn.Linear(in_features=120, out_features=84),
            nn.Sigmoid(),
            nn.Linear(in_features=84, out_features=10)
        )
    def forward(self, x):
        return self.LeNet5(x)

if __name__ == "__main__":
    net = MyLeNet5()
    data = torch.randn(1, 1, 28, 28)
    print(net(data).shape)