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

网站速度对seo的影响/如何做网络推广人员

网站速度对seo的影响,如何做网络推广人员,幼儿园网站建设方案结语,简述jsp网站开发的环境配置过程神经网络搭建小实战&Sequential的使用 一级目录二级目录三级目录 神经网络搭建小实战&Sequential的使用1. 搭建网络2. 检查网络的正确性3. Sequential的使用3.1 两种常见使用方式3.1.1 直接传入模块3.1.2. 使用OrderedDict传入模块 应用场景3.2 有关代码3.2 利用tensor…

神经网络搭建小实战&Sequential的使用

  • 一级目录
    • 二级目录
      • 三级目录
  • 神经网络搭建小实战&Sequential的使用
    • 1. 搭建网络
    • 2. 检查网络的正确性
    • 3. Sequential的使用
      • 3.1 两种常见使用方式
        • 3.1.1 直接传入模块
        • 3.1.2. 使用OrderedDict传入模块
      • 应用场景
      • 3.2 有关代码
      • 3.2 利用tensorboard来查看结果

一级目录

二级目录

三级目录

神经网络搭建小实战&Sequential的使用

1. 搭建网络

所要搭建的网络结构(利用数据集CIFAR10)
在这里插入图片描述

from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linearclass Test(nn.Module):def __init__(self):super(Test, self).__init__()self.conv1 = Conv2d(3,32,5, padding=2, stride=1)self.pool1 = MaxPool2d(2)self.conv2 = Conv2d(32,32,5, padding=2, stride=1)self.pool2 = MaxPool2d(2)self.conv3 = Conv2d(32,64,5, padding=2, stride=1)self.pool3 = MaxPool2d(2)self.flatten = Flatten()self.linear1 = Linear(1024,64)self.linear2 = Linear(64,10)def forward(self, x):x = self.conv1(x)x = self.pool1(x)x = self.conv2(x)x = self.pool2(x)x = self.conv3(x)x = self.pool3(x)x = self.flatten(x)x = self.linear1(x)x = self.linear2(x)return xtest = Test()print(test)

运行结果为
在这里插入图片描述

2. 检查网络的正确性

我们创建一个模拟输入张量,将其传入名为test的模型,来验证模型的输入输出格式是否符合预期,是模型开发和调试中的常见操作

# 检测网络结构
input = torch.ones((64,3,32,32))
output = test(input)
print(output.shape)

其中

input = torch.ones((64,3,32,32))
  • torch.ones():创建一个全为 1 的张量
  • (64, 3, 32, 32):指定张量的形状(shape),各维度含义:
  • 64:批量大小(Batch Size),即一次处理 64 张图像
  • 3:通道数(Channels),对应 RGB 三通道彩色图像
  • 32x32:图像的高度和宽度(Height & Width),单位为像素
  • 数据类型:默认是torch.float32
    用途:模拟 64 张 32×32 像素的彩色图像输入

运行结果为
在这里插入图片描述
此时如果修改网络结构
在这里插入图片描述
在这里插入图片描述
则会报错,进一步验证了我们搭建的网络的正确性

3. Sequential的使用

在这里插入图片描述
在PyTorch中,torch.nn.Sequential 是一个非常有用的顺序容器,用于按顺序组合一系列神经网络模块,方便构建神经网络模型。以下是对其用法的详细讲解:

nn.Sequential 可以将多个神经网络层(如卷积层 Conv2d、全连接层 Linear、激活函数层 ReLU 等)按顺序封装起来,形成一个新的模块。在正向传播时,输入数据会按照添加层的顺序依次通过这些层。

3.1 两种常见使用方式

3.1.1 直接传入模块

通过在构造函数中直接传入一系列模块来创建 Sequential 容器,示例如下:

import torch
from torch import nn# 创建一个包含卷积层、ReLU激活函数层、再一个卷积层、ReLU激活函数层的Sequential模型
model = nn.Sequential(nn.Conv2d(1, 20, 5),  # 输入通道为1,输出通道为20,卷积核大小为5nn.ReLU(),  # ReLU激活函数nn.Conv2d(20, 64, 5),  # 输入通道为20,输出通道为64,卷积核大小为5nn.ReLU()  # ReLU激活函数
)

这里,输入数据首先会进入第一个 Conv2d 层进行卷积操作,然后经过 ReLU 激活函数处理,接着进入第二个 Conv2d 层,最后再经过一次 ReLU 激活函数处理,得到最终输出。

3.1.2. 使用OrderedDict传入模块

当需要为每个模块指定名称时,可以使用 OrderedDict 来传入模块,示例如下:

from collections import OrderedDictmodel = nn.Sequential(OrderedDict([('conv1', nn.Conv2d(1, 20, 5)),  # 模块名称为'conv1'('relu1', nn.ReLU()),  # 模块名称为'relu1'('conv2', nn.Conv2d(20, 64, 5)),  # 模块名称为'conv2'('relu2', nn.ReLU())  # 模块名称为'relu2'
]))

这种方式的好处是可以方便地通过名称来访问和操作特定的模块,比如后续可能需要获取某一层的权重、修改某一层的参数等。

应用场景

  • 快速搭建简单模型:对于一些结构相对简单、层与层之间按顺序连接的神经网络,如小型的卷积神经网络用于图像分类任务的基础结构、简单的多层感知机(全连接神经网络)等,使用 nn.Sequential 可以快速搭建起来,减少代码量。
  • 模型模块化:在构建大型复杂模型时,可以将模型的不同部分(如特征提取部分、分类部分等)分别用 nn.Sequential 封装,使代码结构更加清晰,便于管理和维护。

总之,torch.nn.Sequential 是PyTorch中构建神经网络模型时常用的工具,能帮助开发者高效、简洁地组织神经网络层。

3.2 有关代码

import torchfrom torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequentialclass Test(nn.Module):def __init__(self):super(Test, self).__init__()# self.conv1 = Conv2d(3,32,5, padding=2, stride=1)# self.pool1 = MaxPool2d(2)# self.conv2 = Conv2d(32,32,5, padding=2, stride=1)# self.pool2 = MaxPool2d(2)# self.conv3 = Conv2d(32,64,5, padding=2, stride=1)# self.pool3 = MaxPool2d(2)# self.flatten = Flatten()# self.linear1 = Linear(1024,64)# self.linear2 = Linear(64,10)self.model1 = Sequential(Conv2d(3, 32, 5, padding=2, stride=1),MaxPool2d(2),Conv2d(32, 32, 5, padding=2, stride=1),MaxPool2d(2),Conv2d(32, 64, 5, padding=2, stride=1),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10))def forward(self, x):# x = self.conv1(x)#         # x = self.pool1(x)#         # x = self.conv2(x)#         # x = self.pool2(x)#         # x = self.conv3(x)#         # x = self.pool3(x)#         # x = self.flatten(x)#         # x = self.linear1(x)#         # x = self.linear2(x)x = self.model1(x)return xtest = Test()print(test)
# 检测网络结构
input = torch.ones((64, 3, 32, 32))
output = test(input)
print(output.shape)

运行结果
在这里插入图片描述

3.2 利用tensorboard来查看结果

writer = SummaryWriter("logs_seq")
writer.add_graph(test, input)
writer.close()

在这里插入图片描述

http://www.lryc.cn/news/577646.html

相关文章:

  • app 设计网站建设/百度搜索量
  • 郑州电力高等专科学校专业有哪些/济南seo快速霸屏
  • 担路网如何快速做网站/长沙建站工作室
  • 大米网络营销推广方案/seo数据优化教程
  • 新疆生产建设兵团五十团网站/seo推广的公司
  • 做化妆品的一些网站/搜索seo怎么优化
  • 用户浏览网站的习惯/关键词排名推广怎么做
  • 贵州网站建设费用/seo发外链工具
  • 打造公司的网站/江门网站定制多少钱
  • 网站开发的环境/刷赞网站推广ks
  • 莘庄网站建设/google入口
  • 想做个网站都需要什么/域名交易中心
  • 电脑端网站和手机网站区别/北京seo诊断
  • 廊坊做网站公司/苏州百度推广排名优化
  • 私域流量和裂变营销/网站seo收录
  • 网站设计实验报告内容与步骤/短视频运营是做什么的
  • 哪里可以建设网站/产品推广方案
  • 做国外网站的零售/app推广接单平台有哪些
  • 常州网站关键词优化咨询/上海做推广的引流公司
  • 深圳龙华区有什么好玩的地方/长沙百度网站推广优化
  • 个人的小说网站如何做/用今日头条导入自己网站外链
  • 网站开发协议中的注意事项/如何制作网页链接
  • 网站建设费入如保入账/南宁seo教程
  • 南京自助建站/网页设计排版布局技巧
  • 国外做电子元器件在哪个网站/在线培训系统平台
  • 培训中心网站建设方案/模板网站哪个好
  • 互联网网站建设收费/重大军事新闻最新消息
  • 郑州做网站哪家公司好/品牌推广方式都有哪些
  • 用啥网站做首页/公关
  • 营口市住房建设保障办官方网站/百度客服转人工