LeNet是一种经典的卷积神经网络架构,最初由Yann LeCun等人于1998年提出,主要用于手写数字识别任务。LeNet是深度学习领域中最早的卷积神经网络之一,被认为是卷积神经网络的开山之作。
LeNet包含七个不同的层,其中包括两个卷积层、两个子采样层和三个全连接层。每个卷积层都使用卷积操作提取特征,子采样层用于减小特征映射的尺寸并减少计算量。全连接层用于将卷积层的输出映射到目标类别上。
LeNet的输入是一张28×28像素的灰度图像,输出是一个10维向量,表示输入图像属于10个数字中的哪一个。LeNet使用的激活函数是sigmoid函数。LeNet的训练使用的是反向传播算法和随机梯度下降算法。
尽管LeNet在当时的手写数字识别任务中表现出色,但由于其结构较为简单,不足以应对现代复杂的图像识别任务。但是,LeNet为卷积神经网络的发展奠定了基础,后续的深度学习研究在此基础上不断发展和完善,从而推动了深度学习技术的快速发展。
需要注意的是:pytorch Tensor的排列顺序[batch,channel,height,width]
Tensorflow Tensor的排列顺序[batch,heighr,width,channel]
pytorch与tensorflow:两者属于不同的神经网络搭建架构,举个栗子:
下面是pytorch实现的代码
def __init__(self):
super(LeNet, self).__init__()
self.conv1 = nn.Conv2d(3, 16, 5)
self