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