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

做动图为所欲为的网站引擎seo优

做动图为所欲为的网站,引擎seo优,在线考试系统网站建设,做网站比特币钱包目录 一、介绍 二、先决条件 三、代码解释 一、介绍 在深度学习领域,构建复杂的神经网络模型可能是一项艰巨的任务,尤其是当您有许多层和操作需要组织时。幸运的是,PyTorch提供了一个方便的工具,称为Sequential API&#xff0c…

目录

一、介绍

二、先决条件

三、代码解释


一、介绍

在深度学习领域,构建复杂的神经网络模型可能是一项艰巨的任务,尤其是当您有许多层和操作需要组织时。幸运的是,PyTorch提供了一个方便的工具,称为Sequential API,它简化了神经网络架构的构建过程。在本文中,将探讨如何使用Sequential API构建一个用于图像分类的卷积神经网络(CNN)。接下来将详细探讨每部分代码,并讨论每个组件,并清楚地了解如何在项目中充分利用PyTorch的Sequential API。

二、先决条件

  • 对神经网络和PyTorch有基本了解。
  • 安装了PyTorch的Python环境。

三、代码解释

import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch.utils.tensorboard import SummaryWriter

在此代码片段中,导入了必要的库,包括PyTorch及其用于神经网络操作的模块,以及用于TensorBoard可视化的SummaryWriter。

class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.model1 = Sequential(Conv2d(3, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 64, 5, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10),)

Tudui类定义了神经网络模型。并使用Sequential API创建一系列层和操作,而不是逐一定义每个层并分别管理它们。在这种情况下,我们有三个卷积层,每个卷积层后跟一个最大池化层。然后,将输出展平并添加两个全连接(线性)层。这些层是按顺序定义的,使代码更加简明和可读。

    def forward(self, x):x = self.model1(x)return x

forward方法中,通过模型构造函数传递输入张量x。由于层在self.model1中按顺序组织,并不需要在前向传递中单独调用每个层。这简化了代码并增强了其清晰度。

tudui = Tudui()

创建了Tudui模型的一个实例。

input = torch.ones((64, 3, 32, 32))
output = tudui(input)

生成一个形状为(64, 3, 32, 32)的示例输入张量,并将其通过模型传递以获得输出。

writer = SummaryWriter("logs")
writer.add_graph(tudui, input)
writer.close()

为了使用TensorBoard可视化模型的架构和计算图,所以创建了一个SummaryWriter并添加了图形。这一步对于调试和理解数据流经网络的过程非常有价值。

完整代码如下:

"""
输入大小为3*32*32
经过3次【5*5卷积核卷积-2*2池化核池化】操作后,输出为64*4*4大小
展平后为1*1024大小
经过全连接层后输出为1*10
"""
import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch.utils.tensorboard import SummaryWriterclass Tudui(nn.Module):def __init__(self):super(Tudui,self).__init__()# self.conv1 = Conv2d(3,32,5,padding=2)#         # self.maxpool1 = MaxPool2d(2)#         # self.conv2 = Conv2d(32,32,5,padding=2)#         # self.maxpool2 = MaxPool2d(2)#         # self.conv3 = Conv2d(32,64,5,padding=2)#         # self.maxpool3 = MaxPool2d(2)#         # self.flatten = Flatten()#         # self.linear1 = Linear(1024,64)#         # self.linear2 = Linear(64,10)
# 构建一个序列化的container,可以把想要在神经网络中添加的操作都放进去,按顺序进行执行。self.model1 =Sequential(Conv2d(3, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 32, 5, padding=2),MaxPool2d(2),Conv2d(32, 64, 5, padding=2),MaxPool2d(2),Flatten(),Linear(1024, 64),Linear(64, 10),)"""可以看到上面神经网络进行搭建时非常繁琐,在init中进行了多个操作的定以后需要在forward中逐次进行调用,因此我们使用sequential方法,在init方法中直接定义一个model,然后在下面的forward方法中直接使用一次model即可。"""def forward(self,x):# x = self.conv1(x)# x = self.maxpool1(x)# x = self.conv2(x)# x = self.maxpool2(x)# x = self.conv3(x)# x = self.maxpool3(x)# x = self.flatten(x)# x = self.linear1(x)# x = self.linear2(x)x = self.model1(x)return xtudui = Tudui()
print(tudui)
input = torch.ones((64,3,32,32))
output = tudui(input)
print(output.shape)writer = SummaryWriter("logs")
writer.add_graph(tudui,input)
writer.close()

参考资料:

视频教程:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】

http://www.hengruixuexiao.com/news/20373.html

相关文章:

  • 中企动力做网站行吗宁波怎么优化seo关键词
  • 送菜网站制作武汉网络推广公司排名
  • php网站 数据库链接杭州做搜索引擎网站的公司
  • 个人做的网站有什么危险吗网站搜索引擎优化的基本内容
  • 网站建设项目需求概要说明书以网络营销为主题的论文
  • 多钱网网站上海优化seo排名
  • 网站建设学习手机百度提交入口
  • 珠海市网站建设公司怎么建立一个属于自己的网站
  • 南京 网站开发简述网站推广的意义和方法
  • 做论坛网站需要多少钱seo点击软件哪个好用
  • 在哪些网站可以做企业名称预审网络广告策划案
  • 网站建设的后期服务要包括什么软件网站运营推广方式
  • 南京网站建设cnee关键词完整版免费听
  • 建设部网站 注册违规友情链接平台哪个好
  • 织梦网站空间如何清理单页应用seo如何解决
  • 广州手机端网站制作技术优化seo
  • 没有网站可以做淘宝客关键词seo排名优化推荐
  • 李沧网站建设游戏代理免费加盟
  • 帮别人做网站赚钱6营销案例分析报告模板
  • 企业网站的建设哪个好百度网址大全下载到桌面
  • 怎么给自己公司做网站在线crm
  • 做汽配外贸哪个网站哈尔滨百度关键词优化
  • b北京网站建设东莞网站优化公司哪家好
  • 学做网站php吗站长工具端口
  • 网站开发例子高权重网站出售
  • 期货模拟网站开发2345浏览器
  • 大型网站权限设计中国十大软件外包公司
  • 有哪些网站是做采购招标的软件开发公司
  • 外贸网站代运营seo管理是什么
  • 郑州企业网站推广外包平台推广是什么工作