外贸网站建站要多少钱网站开发新闻
外贸网站建站要多少钱,网站开发新闻,国外企业网站案例,wordpress前台英文版机器学习——典型的卷积神经网络
卷积神经网络#xff08;Convolutional Neural Networks#xff0c;CNNs#xff09;是一类在图像处理领域应用广泛的深度学习模型。它通过卷积操作和池化操作来提取图像的特征#xff0c;并通过全连接层来进行分类或回归任务。在本文中Convolutional Neural NetworksCNNs是一类在图像处理领域应用广泛的深度学习模型。它通过卷积操作和池化操作来提取图像的特征并通过全连接层来进行分类或回归任务。在本文中我们将介绍三种典型的卷积神经网络LeNet-5、AlexNet和ResNet并用Python实现这些算法。
1. LeNet-5
LeNet-5是由Yann LeCun等人于1998年提出的用于手写数字识别的卷积神经网络它是深度学习领域的先驱之一。LeNet-5主要由卷积层、池化层和全连接层组成。
网络结构
输入层32x32的灰度图像卷积层C16个5x5的卷积核步长为1池化层S22x2的最大池化步长为2卷积层C316个5x5的卷积核步长为1池化层S42x2的最大池化步长为2全连接层C5120个神经元全连接层F684个神经元输出层10个神经元对应10个类别
参数数量
C1(5x51) * 6 156C3(5x5x61) * 16 2416C5(4001) * 120 48120F6(1201) * 84 10164输出层(841) * 10 850
总参数数量156 2416 48120 10164 850 61906
Python实现
import torch
import torch.nn as nnclass LeNet5(nn.Module):def __init__(self):super(LeNet5, self).__init__()self.conv1 nn.Conv2d(1, 6, kernel_size5)self.conv2 nn.Conv2d(6, 16, kernel_size5)self.fc1 nn.Linear(16*5*5, 120)self.fc2 nn.Linear(120, 84)self.fc3 nn.Linear(84, 10)def forward(self, x):x torch.relu(self.conv1(x))x torch.max_pool2d(x, kernel_size2, stride2)x torch.relu(self.conv2(x))x torch.max_pool2d(x, kernel_size2, stride2)x x.view(-1, 16*5*5)x torch.relu(self.fc1(x))x torch.relu(self.fc2(x))x self.fc3(x)return x# 创建LeNet-5模型实例
model LeNet5()2. AlexNet
AlexNet是由Alex Krizhevsky等人在2012年的ImageNet挑战赛上获胜的卷积神经网络它是深度学习在计算机视觉领域应用的一个重要里程碑。AlexNet主要由卷积层、池化层和全连接层组成。
网络结构
输入层227x227的RGB图像卷积层C196个11x11的卷积核步长为4池化层S23x3的最大池化步长为2卷积层C3256个5x5的卷积核步长为1池化层S43x3的最大池化步长为2卷积层C5384个3x3的
卷积核步长为1 7. 卷积层C6384个3x3的卷积核步长为1 8. 卷积层C7256个3x3的卷积核步长为1 9. 全连接层FC84096个神经元 10. 全连接层FC94096个神经元 11. 输出层1000个神经元对应1000个类别
参数数量
C1(11x11x31) * 96 34944C3(5x5x961) * 256 614656C5(3x3x2561) * 384 885120C6(3x3x3841) * 384 1327488C7(3x3x3841) * 256 884992FC8(92161) * 4096 37752832FC9(40961) * 4096 16781312输出层(40961) * 1000 4097000
总参数数量34944 614656 885120 1327488 884992 37752832 16781312 4097000 62083544
Python实现
import torch
import torch.nn as nnclass AlexNet(nn.Module):def __init__(self):super(AlexNet, self).__init__()self.features nn.Sequential(nn.Conv2d(3, 96, kernel_size11, stride4),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),nn.Conv2d(96, 256, kernel_size5, padding2),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),nn.Conv2d(256, 384, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(384, 384, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(384, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),)self.avgpool nn.AdaptiveAvgPool2d((6, 6))self.classifier nn.Sequential(nn.Dropout(),nn.Linear(256 * 6 * 6, 4096),nn.ReLU(inplaceTrue),nn.Dropout(),nn.Linear(4096, 4096),nn.ReLU(inplaceTrue),nn.Linear(4096, 1000),)def forward(self, x):x self.features(x)x self.avgpool(x)x torch.flatten(x, 1)x self.classifier(x)return x# 创建AlexNet模型实例
model AlexNet()3. ResNet
ResNet是由Kaiming He等人在2015年提出的一个非常深的卷积神经网络它采用了残差连接Residual Connection的方式来解决深层神经网络训练过程中的梯度消失问题。ResNet主要由卷积层、残差块和全连接层组成。
网络结构
输入层224x224的RGB图像卷积层64个7x7的卷积核步长为2使用零填充池化层3x3的最大池化步长为2残差块Residual Block包含多个残差单元Residual Unit全局平均池化层Global Average Pooling全连接层1000个神经元对应1000个类别
参数数量
ResNet的参数数量取决于其深度因为它的大部分层都是卷积层和残差块。具体参数数量可以根据网络
深度和残差块的数量进行计算。
Python实现
ResNet的实现较为复杂可以使用PyTorch等深度学习框架提供的预训练模型来直接使用。
import torch
import torchvision.models as models# 加载预训练的ResNet模型
model models.resnet50(pretrainedTrue)总结
本文介绍了三种典型的卷积神经网络LeNet-5、AlexNet和ResNet。这些网络在图像分类、目标检测和语义分割等计算机视觉任务中取得了巨大成功。它们的设计思想和结构各不相同但都为深度学习在图像处理领域的发展做出了重要贡献。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89485.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!