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

网站排名优化多少钱做网站需要数据储存么

网站排名优化多少钱,做网站需要数据储存么,互联网网站运营,广州网站建设信科网络目录 一、模型创建过程1.1 以LeNet网络为例1.2 LeNet结构1.3 nn.Module 二、网络层容器(Containers)2.1 nn.Sequential2.1.1 常规方法实现2.1.2 OrderedDict方法实现 2.2 nn.ModuleList2.3 nn.ModuleDict2.4 三种容器构建总结 三、AlexNet网络构建 一、模型创建过程 1.1 以LeNe… 目录 一、模型创建过程1.1 以LeNet网络为例1.2 LeNet结构1.3 nn.Module 二、网络层容器(Containers)2.1 nn.Sequential2.1.1 常规方法实现2.1.2 OrderedDict方法实现 2.2 nn.ModuleList2.3 nn.ModuleDict2.4 三种容器构建总结 三、AlexNet网络构建 一、模型创建过程 1.1 以LeNet网络为例 网络代码如下 class LeNet(nn.Module):def __init__(self, classes):super(LeNet, self).__init__() # 调用父类方法作用是调用nn.Module类的构造函数# 确保LeNet类被正确地初始化并继承了nn.Module 的所有属性和方法self.conv1 nn.Conv2d(3, 6, 5) # 卷积层self.conv2 nn.Conv2d(6, 16, 5)self.fc1 nn.Linear(16 * 5 * 5, 120) # 全连接层self.fc2 nn.Linear(120, 84)self.fc3 nn.Linear(84, classes)def forward(self, x):out F.relu(self.conv1(x))out F.max_pool2d(out, 2)out F.relu(self.conv2(out))out F.max_pool2d(out, 2)out out.view(out.size(0), -1)out F.relu(self.fc1(out))out F.relu(self.fc2(out))out self.fc3(out)return out1.2 LeNet结构 LeNetconv1–pool1–conv2–pool2–fc1–fc2–fc3 1.3 nn.Module Module是nn模块中的功能nn模块还有Parameter、functional等模块。 nn.Module主要有以下参数 • parameters : 存储管理nn.Parameter类 • modules : 存储管理nn.Module类 • buffers存储管理缓冲属性如BN层中的running_mean 二、网络层容器(Containers) 2.1 nn.Sequential nn.Sequential 是 nn.module的容器也是最常用的容器用于按顺序包装一组网络层 • 顺序性各网络层之间严格按照顺序构建 • 自带forward()自带的forward里通过for循环依次执行前向传播运算 2.1.1 常规方法实现 LeNet网络由两部分构成中间的卷积池化特征提取部分(features)以及最后的分类部分(classifier)。 具体代码如下 class LeNetSequential(nn.Module):def __init__(self, classes):super(LeNetSequential, self).__init__()self.features nn.Sequential( #特征提取部分nn.Conv2d(3, 6, 5),nn.ReLU(),nn.MaxPool2d(kernel_size2, stride2),nn.Conv2d(6, 16, 5),nn.ReLU(),nn.MaxPool2d(kernel_size2, stride2),)self.classifier nn.Sequential( #分类部分nn.Linear(16*5*5, 120),nn.ReLU(),nn.Linear(120, 84),nn.ReLU(),nn.Linear(84, classes),)def forward(self, x):x self.features(x)x x.view(x.size()[0], -1)x self.classifier(x)return x打印网络层 2.1.2 OrderedDict方法实现 使用有序字典的方法构建Sequential 代码如下 class LeNetSequentialOrderDict(nn.Module):def __init__(self, classes):super(LeNetSequentialOrderDict, self).__init__()self.features nn.Sequential(OrderedDict({conv1: nn.Conv2d(3, 6, 5),relu1: nn.ReLU(inplaceTrue),pool1: nn.MaxPool2d(kernel_size2, stride2),conv2: nn.Conv2d(6, 16, 5),relu2: nn.ReLU(inplaceTrue),pool2: nn.MaxPool2d(kernel_size2, stride2),}))self.classifier nn.Sequential(OrderedDict({fc1: nn.Linear(16 * 5 * 5, 120),relu3: nn.ReLU(),fc2: nn.Linear(120, 84),relu4: nn.ReLU(inplaceTrue),fc3: nn.Linear(84, classes),}))def forward(self, x):x self.features(x)x x.view(x.size()[0], -1)x self.classifier(x)return x先看一下Sequential函数中init初始化的两种方法当我们使用OrderedDict方法时会进行判断使用self.add_module(key, module)方法将字典中的key和value取出来添加到Sequential中。 class Sequential(Module):def __init__(self, *args):super().__init__()if len(args) 1 and isinstance(args[0], OrderedDict):for key, module in args[0].items():self.add_module(key, module)else:for idx, module in enumerate(args):self.add_module(str(idx), module)通过这种方法构建可以给每一网络层添加一个名称网络输出结果如下 2.2 nn.ModuleList nn.ModuleList是 nn.module的容器用于包装一组网络层以迭代方式调用网络层 主要方法 • append()在ModuleList后面添加网络层 • extend()拼接两个ModuleList • insert()指定在ModuleList中位置插入网络层 使用列表生成式通过一行代码就能构建20个网络层。 代码演示 class ModuleList(nn.Module):def __init__(self):super(ModuleList, self).__init__()# 使用列表生成式构建20个全连接层每个全连接层10个神经元的网络self.linears nn.ModuleList([nn.Linear(10, 10) for i in range(20)])def forward(self, x):for i, linear in enumerate(self.linears):x linear(x)return xnet ModuleList()2.3 nn.ModuleDict nn.ModuleDict是 nn.module的容器用于包装一组网络层以索引方式调用网络层可以用过参数的形式选取想要调用的网络层。 主要方法 • clear()清空ModuleDict • items()返回可迭代的键值对(key-value pairs) • keys()返回字典的键(key) • values()返回字典的值(value) • pop()返回一对键值并从字典中删除 代码展示只选取conv和relu两个网络层 class ModuleDict(nn.Module):def __init__(self):super(ModuleDict, self).__init__()self.choices nn.ModuleDict({conv: nn.Conv2d(10, 10, 3),pool: nn.MaxPool2d(3)})# 激活函数self.activations nn.ModuleDict({relu: nn.ReLU(),prelu: nn.PReLU()})def forward(self, x, choice, act): # 传入两个参数 用来选择网络层x self.choices[choice](x)x self.activations[act](x)return x net ModuleDict() fake_img torch.randn((4, 10, 32, 32)) output net(fake_img, conv, relu) #只选取conv和relu两个网络层。 print(output) 2.4 三种容器构建总结 • nn.Sequential顺序性各网络层之间严格按顺序执行常用于block构建 • nn.ModuleList迭代性常用于大量重复网构建通过for循环实现重复构建 • nn.ModuleDict索引性常用于可选择的网络层 三、AlexNet网络构建 AlexNet2012年以高出第二名10多个百分点的准确率获得ImageNet分类任务冠军开创了卷积神经网络的新时代 AlexNet特点如下 采用ReLU替换饱和激活函数减轻梯度消失采用LRN(Local Response Normalization)对数据归一化减轻梯度消失Dropout提高全连接层的鲁棒性增加网络的泛化能力Data AugmentationTenCrop色彩修改 网络结构图如下 构建代码 import torch.nn as nn import torch from torchsummary import summary # 定义一个名为AlexNet的神经网络模型继承自nn.Module基类 class AlexNet(nn.Module):# 构造函数初始化网络的参数def __init__(self, num_classes: int 1000, dropout: float 0.5) - None:# 调用父类的构造函数super().__init__()# 定义神经网络的特征提取部分包含多个卷积层和池化层self.features nn.Sequential(nn.Conv2d(3, 64, kernel_size11, stride4, padding2), # 输入通道3输出通道64卷积核大小11x11步长4填充2nn.ReLU(inplaceTrue), # 使用ReLU激活函数inplaceTrue表示原地操作节省内存nn.MaxPool2d(kernel_size3, stride2), # 最大池化层核大小3x3步长2nn.Conv2d(64, 192, kernel_size5, padding2), # 输入通道64输出通道192卷积核大小5x5填充2nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),nn.Conv2d(192, 384, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(384, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.Conv2d(256, 256, kernel_size3, padding1),nn.ReLU(inplaceTrue),nn.MaxPool2d(kernel_size3, stride2),)# 定义自适应平均池化层将输入的任意大小的特征图池化为固定大小6x6self.avgpool nn.AdaptiveAvgPool2d((6, 6))# 定义分类器部分包含全连接层和Dropout层self.classifier nn.Sequential(nn.Dropout(pdropout), # 使用Dropout进行正则化随机丢弃一部分神经元以防止过拟合nn.Linear(256 * 6 * 6, 4096), # 输入大小为256*6*6输出大小为4096nn.ReLU(inplaceTrue),nn.Dropout(pdropout),nn.Linear(4096, 4096),nn.ReLU(inplaceTrue),nn.Linear(4096, num_classes), # 最后的全连接层输出类别数)# 前向传播函数定义数据在网络中的传播过程def forward(self, x: torch.Tensor) - torch.Tensor:x self.features(x) # 特征提取x self.avgpool(x) # 平均池化x torch.flatten(x, 1) # 将特征图展平成一维向量x self.classifier(x) # 分类器return xif __name__ __main__:net AlexNet().cuda()summary(net, (3, 256, 256))打印出的网络结构图如下
http://www.hkea.cn/news/14342754/

相关文章:

  • 深圳 网站优化公司排名网站建设与网页设计 视频
  • 网站设计超链接怎么做wordpress html主页
  • 网站flash素材wordpress 过滤图片
  • 青岛可以做网站的公司淘宝网店运营策划方案
  • 做一个网站要什么样技术怎么申请建立一个公司网站
  • 大专千万不要报软件技术wordpress商城主题 优化
  • 网站开发用什么网站个人外贸网站制作
  • 手机网站设置方法电子产品东莞网站建设
  • 如何查网站是哪个公司做的做网站需要的程序
  • 宿州网站建设开发公司哪家好网站设置可以访问
  • 深圳企业建站招聘哪个网站上门做护肤
  • 做废钢铁生意在哪个网站了解wordpress转换中文版
  • 那些网站可做国外零售广告公司的业务范围
  • 免费的网站搭建平台网站建设哪个品牌好
  • 企业网站建设费用需要多少钱网站流量达到多少
  • 医院导航网站怎么做企业展示网站建设需要做什么
  • 怎么做一个网站自己如何制作网页
  • 福建建设厅网站工程履约保险对网络营销的认识
  • 做同城网站赚钱吗商务网站模板下载
  • 做的网站太大怎么办军事新闻最新消息中国南海今天
  • 洛阳自助建站爱站网的关键词是怎么来的
  • 咸宁建设网站网页设计与制作作业成品免费
  • 网站建设销售实习报告建网站问题
  • 青县网站建设公司电商小程序开发多少钱
  • flask做的购物网站wordpress小程序小白
  • 视频网站会员系统怎么做建筑企业管理咨询公司是做什么的
  • 网站开发需要什么基础只是中建装饰集团有限公司官网
  • wordpress整站导入做企业网站多
  • 网站建设网页与数据库连接工作室网站免费建设
  • 网站制seo营销推广多少钱