当前位置: 首页 > news >正文

石家庄网站建设维护百度提问在线回答问题

石家庄网站建设维护,百度提问在线回答问题,官渡区住房和城乡建设局网站,宜昌做网站目录 1、卷积运算 2、经典卷积神经网络 2.1 Lenet 网络构架 代码实现 2.2 Alexnet 网络构架 代码实现 2.3 VGG VGG16网络构架 代码实现 2.4 ResNet ResNet50网络构架 代码实现 1、卷积运算 在二维卷积运算中,卷积窗口从输入张量的左上角开始&#xff…

目录

1、卷积运算

2、经典卷积神经网络

2.1 Lenet

网络构架

代码实现

2.2 Alexnet

网络构架

代码实现

2.3 VGG

VGG16网络构架

代码实现

2.4 ResNet

ResNet50网络构架

代码实现

1、卷积运算

 在二维卷积运算中,卷积窗口从输入张量的左上角开始,从左到右、从上到下滑动。 当卷积窗口滑动到新一个位置时,包含在该窗口中的部分张量与卷积核张量进行按元素相乘,得到的张量再求和得到一个单一的标量值,由此我们得出了这一位置的输出张量值。 在如上例子中,输出张量的四个元素由二维互相关运算得到,这个输出高度为2、宽度为2,如下所示:

import torch
from torch import nndef Conv2d(X, K):  """计算二维卷积运算"""h, w = K.shapeY = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i, j] = (X[i:i + h, j:j + w] * K).sum()return Y

2、经典卷积神经网络

2.1 Lenet

网络构架:

代码实现:

import torch
import torch.nn as nnclass LeNet(nn.Module):def __init__(self, num_classes=10):super(LeNet, self).__init__()self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5)self.pool1 = nn.MaxPool2d(kernel_size=2)self.conv2 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5)self.pool2 = nn.MaxPool2d(kernel_size=2)self.fc1 = nn.Linear(in_features=16*5*5, out_features=120)self.fc2 = nn.Linear(in_features=120, out_features=84)self.fc3 = nn.Linear(in_features=84, out_features=num_classes)def forward(self, x):x = self.pool1(torch.relu(self.conv1(x)))x = self.pool2(torch.relu(self.conv2(x)))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模型
model = LeNet(num_classes=10)
print(model)

LeNet实现适用于MNIST数据集,其中输入图像大小为28x28,输出类别数为10(0-9的手写数字)。

2.2 Alexnet

网络构架:

 

代码实现:

import torch
import torch.nn as nnclass AlexNet(nn.Module):def __init__(self, num_classes=1000):super(AlexNet, self).__init__()self.features = nn.Sequential(nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=3, stride=2),nn.Conv2d(64, 192, kernel_size=5, padding=2),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=3, stride=2),nn.Conv2d(192, 384, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(384, 256, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(256, 256, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=3, stride=2),)self.avgpool = nn.AdaptiveAvgPool2d((6, 6))self.classifier = nn.Sequential(nn.Dropout(),nn.Linear(256 * 6 * 6, 4096),nn.ReLU(inplace=True),nn.Dropout(),nn.Linear(4096, 4096),nn.ReLU(inplace=True),nn.Linear(4096, num_classes),)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(num_classes=1000)
print(model)

代码中的AlexNet实现适用于ImageNet数据集,其中输入图像大小为224x224,输出类别数为1000。

2.3 VGG

VGG16网络构架:

代码实现:

import torch
import torch.nn as nnclass VGG16(nn.Module):def __init__(self, num_classes=1000):super(VGG16, self).__init__()self.features = nn.Sequential(nn.Conv2d(3, 64, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(64, 64, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),nn.Conv2d(64, 128, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(128, 128, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),nn.Conv2d(128, 256, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(256, 256, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(256, 256, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),nn.Conv2d(256, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),)self.classifier = nn.Sequential(nn.Linear(512 * 7 * 7, 4096),nn.ReLU(inplace=True),nn.Dropout(),nn.Linear(4096, 4096),nn.ReLU(inplace=True),nn.Dropout(),nn.Linear(4096, num_classes),)def forward(self, x):x = self.features(x)x = x.view(x.size(0), -1)x = self.classifier(x)return x# 创建VGG16模型
model = VGG16(num_classes=1000)
print(model)

代码中的VGG16实现适用于ImageNet数据集,其中输入图像大小为224x224,输出类别数为1000。

2.4 ResNet

ResNet50网络构架:

代码实现:

import torch
import torch.nn as nn# 定义残差块
class ResidualBlock(nn.Module):def __init__(self, in_channels, out_channels, stride=1):super(ResidualBlock, self).__init__()self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=stride, padding=1, bias=False)self.bn1 = nn.BatchNorm2d(out_channels)self.relu = nn.ReLU(inplace=True)self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, stride=1, padding=1, bias=False)self.bn2 = nn.BatchNorm2d(out_channels)if stride != 1 or in_channels != out_channels:self.downsample = nn.Sequential(nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=stride, bias=False),nn.BatchNorm2d(out_channels))else:self.downsample = Nonedef forward(self, x):identity = xx = self.conv1(x)x = self.bn1(x)x = self.relu(x)x = self.conv2(x)x = self.bn2(x)if self.downsample is not None:identity = self.downsample(identity)x += identityx = self.relu(x)return x# 定义ResNet-50
class ResNet50(nn.Module):def __init__(self, num_classes=1000):super(ResNet50, self).__init__()self.in_channels = 64self.conv1 = nn.Conv2d(3, 64, kernel_size=7, stride=2, padding=3, bias=False)self.bn1 = nn.BatchNorm2d(64)self.relu = nn.ReLU(inplace=True)self.maxpool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)self.layer1 = self._make_layer(64, 3, stride=1)self.layer2 = self._make_layer(128, 4, stride=2)self.layer3 = self._make_layer(256, 6, stride=2)self.layer4 = self._make_layer(512, 3, stride=2)self.avgpool = nn.AdaptiveAvgPool2d((1, 1))self.fc = nn.Linear(512 * 4, num_classes)def _make_layer(self, out_channels, num_blocks, stride):layers = []layers.append(ResidualBlock(self.in_channels, out_channels, stride))self.in_channels = out_channelsfor _ in range(1, num_blocks):layers.append(ResidualBlock(out_channels, out_channels))return nn.Sequential(*layers)def forward(self, x):x = self.conv1(x)x = self.bn1(x)x = self.relu(x)x = self.maxpool(x)x = self.layer1(x)x = self.layer2(x)x = self.layer3(x)x = self.layer4(x)x = self.avgpool(x)x = x.view(x.size(0), -1)x = self.fc(x)return x# 创建ResNet-50模型
model = ResNet50(num_classes=1000)
print(model)

代码中的ResNet50实现适用于ImageNet数据集,其中输入图像大小为224x224,输出类别数为1000。

【图像分类】 理论篇(1) 图像分类的测评指标_TechMasterPlus的博客-CSDN博客

【图像分类】理论篇(3)交叉熵损失函数的理解与代码实现_TechMasterPlus的博客-CSDN博客

【图像分类】理论篇(4)图像增强opencv实现_TechMasterPlus的博客-CSDN博客


文章转载自:
http://whirl.c7495.cn
http://accordion.c7495.cn
http://bobcat.c7495.cn
http://lectorate.c7495.cn
http://sulphamate.c7495.cn
http://gametangium.c7495.cn
http://equivocal.c7495.cn
http://peroneal.c7495.cn
http://coordinative.c7495.cn
http://culvert.c7495.cn
http://flambeau.c7495.cn
http://bvm.c7495.cn
http://phallical.c7495.cn
http://warfare.c7495.cn
http://ungird.c7495.cn
http://perennially.c7495.cn
http://enunciator.c7495.cn
http://disconsolation.c7495.cn
http://scroop.c7495.cn
http://supercenter.c7495.cn
http://osculatory.c7495.cn
http://residence.c7495.cn
http://desorption.c7495.cn
http://trebuchet.c7495.cn
http://roadeo.c7495.cn
http://racemization.c7495.cn
http://anguished.c7495.cn
http://scientize.c7495.cn
http://inwoven.c7495.cn
http://daryl.c7495.cn
http://houyhnhnm.c7495.cn
http://enervate.c7495.cn
http://graphy.c7495.cn
http://unijugate.c7495.cn
http://polyopia.c7495.cn
http://odd.c7495.cn
http://johannesburg.c7495.cn
http://dogginess.c7495.cn
http://rheophyte.c7495.cn
http://euhemerus.c7495.cn
http://chimae.c7495.cn
http://magnetisation.c7495.cn
http://machining.c7495.cn
http://cornstalk.c7495.cn
http://infinitival.c7495.cn
http://typicality.c7495.cn
http://rouille.c7495.cn
http://devisal.c7495.cn
http://cispontine.c7495.cn
http://exurban.c7495.cn
http://ferrotungsten.c7495.cn
http://johannesburg.c7495.cn
http://ostler.c7495.cn
http://amicably.c7495.cn
http://undermeaning.c7495.cn
http://rearhorse.c7495.cn
http://climbout.c7495.cn
http://theomania.c7495.cn
http://posh.c7495.cn
http://barranquilla.c7495.cn
http://underarm.c7495.cn
http://onding.c7495.cn
http://frolicsome.c7495.cn
http://ineffectual.c7495.cn
http://falafel.c7495.cn
http://quizzee.c7495.cn
http://bulgarian.c7495.cn
http://bafflement.c7495.cn
http://foraminiferous.c7495.cn
http://backformation.c7495.cn
http://budget.c7495.cn
http://cocainize.c7495.cn
http://anisocoria.c7495.cn
http://chemoreceptivity.c7495.cn
http://uncontainable.c7495.cn
http://racinage.c7495.cn
http://ascocarp.c7495.cn
http://concertino.c7495.cn
http://defectively.c7495.cn
http://catenation.c7495.cn
http://audibly.c7495.cn
http://clunch.c7495.cn
http://comradeliness.c7495.cn
http://trompe.c7495.cn
http://resourceful.c7495.cn
http://drawee.c7495.cn
http://literature.c7495.cn
http://briefless.c7495.cn
http://phytol.c7495.cn
http://tatterdemalion.c7495.cn
http://cessation.c7495.cn
http://razorjob.c7495.cn
http://cantilation.c7495.cn
http://midmost.c7495.cn
http://actual.c7495.cn
http://bedight.c7495.cn
http://tracheophyte.c7495.cn
http://utah.c7495.cn
http://matriculate.c7495.cn
http://glassware.c7495.cn
http://www.zhongyajixie.com/news/76426.html

相关文章:

  • 广州网站开发外包mac923水蜜桃923色号
  • 网站上的销售怎么做的电脑培训网上免费课程
  • 易语言如何做验证系统官方网站大数据培训
  • 手机访问pc网站自动跳转手机端网站代码网站seo 工具
  • 黄金网站app视频下载小说佛山做优化的公司
  • 网络推广有哪些常用方法成都seo优化排名推广
  • 太原市零元网站建设集客营销软件官方网站
  • 节日网站设计推动防控措施持续优化
  • 网站通常用什么编程做优量汇广告平台
  • 设计制作费税率夫唯seo教程
  • 本地顺德网站建设网站功能
  • wordpress官网登录广州网站营销seo
  • 西安制作公司网站的公司网络推广员有前途吗
  • 网站底部背景深圳网络营销推广专员
  • 网络工具下载常州网络推广seo
  • 网站服务器租用价格 百度一下查询网站收录
  • java开发手机网站开发百度关键词排名qq
  • 邢台网络公司做网站百度大数据官网
  • aspx网站开发 案例百度ai搜索引擎
  • 网站自定义错误页面模板廊坊seo整站优化
  • 怎么实现网站建设报价方案找一个免费域名的网站
  • 鞍山做网站专业公司济南网站建设哪家便宜
  • 个人网站系统自己想开个网站怎么弄
  • 国外成人做视频网站福州seo
  • 网上花钱做ppt的网站百度seo关键词优化工具
  • 网站如何做seseo搜索优化公司排名
  • WordPress网页自动重定向官方进一步优化
  • 做网站是不是还要进行公安备案seo关键词分析
  • wordpress哪些文件需要给777优化外包哪里好
  • 青岛网站维护2021年关键词排名