本文为在拓尔思智能举办的训练营中学习内容的记录,部分内容摘自百度百科
1.灰度图只有一个通道,RGB三通道
2.in_channels输入通道数,out_channels输出通道数
kernel_size为卷积和的尺寸
stride 为间距,每次计算之后向右平移一个
3 什么是卷积神经网络
卷积神经网络(ConvolutionalNeuralNetwork,简称CNN)是一种深度学习模型,主要用于处理具有网格状拓扑结构的数据,例如图像。CNN在图像识别、视频分析、图像分类、医学图像处理等领域表现出色。它的核心思想是利用卷积层来提取输入数据的特征,并且能够自动学习到这些特征。 CNN的特点:
局部感受野: 每个卷积神经元只负责输入数据的一个局部区域,这使得网络能够捕捉局部特征权重。
共享:同一个卷积核的权重在整个输入数据上是共享的,这大大减少了模型的参数数量。
空间不变性:由于权重共享,卷积层能够检测到输入数据中的位置不变特征,即无论特征在输入数据的哪个位置出现,卷积层都能检测到。
池化层:通常位于卷积层之后,用于降低数据的空间维度,减少参数数量和计算量,同时增强特征的不变性。
全连接层:在网络的末端,将卷积层和池化层提取的特征映射到最终的输出,例如分类标签。
多层结构:CNN通常包含多个标积层和池化层,每一层都在提取不同层次的特征。
4.pooling层(池化层)
常用的是最大池化 Max Pooling
Average Pooling(平均池化)
5.一些常见代码及含义
optimizer.zero.grad()将上个运算的梯度清空
loss.backward() 反向传播
optimizer.step() 梯度更新
在卷积神经网络中,padding=0
表示卷积操作时不进行任何边缘填充,导致输出尺寸缩小。在LeNet-5中,这是有意为之的设计,通过逐步缩小特征图尺寸提取高层特征。