🌞欢迎莅临我的个人主页👈🏻这里是我专注于深度学习领域、用心分享知识精粹与智慧火花的独特角落!🍉
🌈如果大家喜欢文章,欢迎:关注🍷+点赞👍🏻+评论✍🏻+收藏🌟,如有错误敬请指正!🪐
🍓“请不要相信胜利就像山坡上的蒲公英一样唾手可得,但是请相信生活中总有美好值得我们全力以赴,哪怕粉身碎骨!”🌹
目录
学习之前我们先要了解卷积和池化间的联系——首先卷积用来提取图像特征,但是提取后图片的数据量依旧很大,所以需要通过池化来降低特征,池化没有可学习的参数,它仅仅是对输入的聚合操作。通过减小特征图的尺寸,池化层可以减少后续层的参数数量,从而降低模型的复杂度和计算量。
卷积层
卷积层(Convolutional Layer)是神经网络中的一种基本层,主要用于图像处理和计算机视觉任务中。它通过对输入图像进行多个卷积核的卷积运算,提取出图像中的特征,生成输出特征图。
一个卷积层通常由多个卷积核、偏置、激活函数和池化层等组成。其中,卷积核是该层的核心部分,它将输入图像中的每个像素与自身权重进行点乘,再加上偏置项,生成单个输出值。多个卷积核可以提取不同的特征,例如边缘、纹理、颜色等,从而捕获图像中更高级的结构和特征。
我们先通过官方文档看下比较正规的卷积层说明,卷积层的使用
Applies a 2D convolution over an input signal composed of several input planes. |
这里我们重点介绍 nn.Conv2d ,即二维卷积,需要注意这里的 nn.Conv2d 和 nn.conv2d 的区别,nn.Conv2d 是一个类,可以创建可学习的卷积层,而 nn.conv2d 是一个函数,用于执行卷积操作。通常情况下,建议使用 nn.Conv2d 类来创建卷积层,因为它更加灵活,并且可以与其他模块一起使用。而 nn.conv2d 可以在需要时用作函数调用。
nn.Conv2d 相关参数如下:
- in_channels:输入图像的通道数
- out_channels:输出图像的通道数