神经网络 torch.nn---Containers

torch.nn — PyTorch 2.3 documentation

torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io)

nn是Neural Network的简称,帮助程序员方便执行如下的与神经网络相关的行为:

(1)创建神经网络

(2)训练神经网络

(3)保存神经网络

(4)恢复神经网络

 torch.nn中的函数简介

  • Containers(容器):神经网络的骨架

  • Convolution Layers:卷积层神经网络 torch.nn---Convolution Layers-CSDN博客

  • Pooling layers:池化层

  • Padding Layers:Padding

  • Non-linear Activations:非线性激活

  • Normalization Layers:正则化层

  • Recurrent Layers:循环神经网络层

  • Transformer Layers:

  • Linear Layers:

  • Dropout Layers:

torch.nn中Containers

class torch.nn.Module

所有网络的基类。

你的模型也应该继承这个类。

  • Module:对于所有神经网络提供一个基本的骨架,一般定义一个神经网络用如下代码。其中,Model代表模型的名称,nn.Module就是继承了这个类的模板。然后我们先用__init__初始化,其中super(Model,self).__init__()指的是对父类进行初始化,后面的部分是根据自己构建的神经网络个性化定制的。之后我们使用forword函数对输入数据进行计算,也可以这么理解:对于一个神经网络,首先输入数据-->使用forword函数计算数据-->输出数据,这个过程也叫前向传播
import torch
from torch import nnclass Mymodule(nn.Module):def __init__(self):super(Mymodule, self).__init__()def forward(self, input):output = input+1  #对输入神经网络的数据+1,然后返回return outputmymodule = Mymodule()
x = torch.tensor(1.0) #输入神经网络的数据
output = mymodule(x)
print(output) #输出神经网络的数据

神经网络运行过程

为了更好地说明上面代码的运行过程,把debug打到第14行的mymodule = Mymodule()代码上,并点击Step into My Code

之后一直点击Step into My Code,就可以看到代码的运行过程如下:

  • 在调用demo=Demo()后,首先使用super().__init__()对nn.Module进行初始化

  • 然后设定输入值x,并使用demo(x)将该值传入到forword函数中

  • forword函数将该值进行加一,并返回output

  • 最后将返回的output输出

torch.nn.Sequential

Sequential — PyTorch 2.3 documentation

model = nn.Sequential(nn.Conv2d(1,20,5),nn.ReLU(),nn.Conv2d(20,64,5),nn.ReLU())
  • 在第一个变量名model中,依次执行nn.Convd2d(1,20,5)nn.ReLU()nn.Conv2d(20,64,5)nn.ReLU()四个函数。这样写起来的好处是使代码更简洁

  • 由此可见,函数nn.Sequential的主要作用为依次执行括号内的函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot的装饰工程管理系统源码数据库

如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大,容错率低,管…

C++应用维纳滤波实现语音信号的去噪

维纳滤波是一种滤波器,它根据全部过去的和当前的观察数据来估计信号的当前值,它的解是以均方误差最小条件下所得到的系统的传递函数H(z)或单位样本响应h(n)的形式给出的,因此维纳滤波器也称为最佳线性滤波器。 可以使用MATLAB语言实现应用维纳…

RERCS系统开发实战案例-Part01 快速启动面板创建新功能启动面板

需求背景:RERCS系统设计合同应收付比例调整界面,目的为合同与应收付款调整关联,保证数据的完整性与准确性。 步骤① 参数化快速启动板事务码 :LPD_CUST_PARAM 选择对应的角色与实例 可以看到系统中的快速启动面板菜单中已有的功能…

Spring Boot 中的异步 @Async

效率工具 推荐一个程序员常用的工具网站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。 小报童专栏精选Top100 推荐一个小报童专栏导航站&a…

SD卡格式化怎么恢复?一键扫描,轻松找回丢失的数据

SD卡格式化怎么恢复数据?在日常生活中,我们常常会使用SD卡来存储各种数据,如照片、视频、文档等。然而,当SD卡意外格式化或者出现其他问题时,里面的数据就会面临丢失的风险。 此时,如何恢复格式化的SD卡就…

gitleb详细的搭建步骤

在本地机房部署GitLab时,详细的搭建步骤如下: 1. 准备环境 1.1 硬件准备 服务器:高性能服务器,建议配置至少4核CPU、8GB内存、100GB存储。网络设备:确保服务器与网络的连接稳定。 1.2 操作系统 推荐使用Ubuntu Se…

女生学计算机当程序员真的好酷!

总有人觉得IT是男生的天下,“女孩子不适合学计算机”“计算机对女孩子没用”的刻板思想。那是你不知道,会写代码的女孩子有多酷多厉害😎 给大家盘点几个我觉得特别棒特别适合女孩子学习的计算机方向👇👇👇 …

本地启动ollama大语言模型

官网 Ollama 安装 rootmaster-node:~# snap install ollama 启动 rootmaster-node:~# ollama run gemma:2b 输出 verifying sha256 digest writing manifest removing any unused layers success >>> who are you? I am a large language model, trained by…

2024-06-06 问AI: 在深度学习中,什么是欧几里德长度?

文心一言 在深度学习中,欧几里德长度(也称为欧几里得距离或欧氏距离)是一个常用的概念,它衡量的是在多维空间中两个点之间的真实距离,或者说是向量的自然长度(即该点到原点的距离)。以下是关于…

【ARM Cache 及 MMU 系列文章 6.3 -- ARMv8/v9 Cache Tag数据读取及分析】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Cache Tag 数据读取测试代码Cache Tag 数据读取 在处理器中,缓存是一种快速存储资源,用于减少访问主内存时的延迟。缓存通过存储主内存中经常访问的数据来实现这一点。为了有效地管…

问题:卫生事业的发展受多种因素的影响和制约,以下属于卫生事业发展影响因素的有(? ?)。 #微信#其他

问题:卫生事业的发展受多种因素的影响和制约,以下属于卫生事业发展影响因素的有(? ?)。 A、经济水平 B、管理水平 C、人口素质 D、科技发展 参考答案如图所示

编译libredwg

1. 安装编译工具 安装 MSYS2:MSYS2 提供了一个 Unix-like 环境,可以在 Windows 上编译软件。下载地址:https://www.msys2.org/ 安装 GCC 编译器:可以通过 MSYS2 终端来安装 pacman -Syu pacman -S mingw-w64-x86_64-gcc 安装 make…

做外贸一些恶心人但是却很有效果的方法

最近在国内的网购平台上买了一些日用品,一般情况下,我在购物的时候,会打算买什么,然后就直接打上这个产品的名称,然后去选择自己喜欢的图片样式,接着看对应的价格,再选择要不要购买。 但是最近…

RockPI 4A单板Linux 4.4内核下的RK3399 GPIO功能解析

RockPI 4A单板Linux 4.4内核下的RK3399 GPIO功能解析 摘要:本文将基于RockPI 4A单板,介绍Linux 4.4内核下RK3399 GPIO(通用输入输出)功能的使用方法。通过详细的代码解析和示例,帮助读者理解如何在Linux内核中使用GPI…

PCL 高阶多项式曲线回归拟合(二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 高阶多项式曲线回归(Polynomial Regression)是一种线性回归模型的扩展,它允许数据拟合一个非线性的曲线。虽然多项式本身是非线性的,但我们可以通过引入新的变量(例如,原始变量的平方、立方等)来将问题转化为…

Android系统中xml的解压与压缩

Android系统中有一部分xml是二进制加密保存的,当我门用adb pull导出查看的时候发现是乱码,不用慌,下面我给大家介绍安卓系统自带的xml加解密工具,位于 /system/bin下,有abx2xml和xml2abx Android xml二进制解压 usage…

240508Scala笔记

240508Scala笔记 Scala概述: SCala是Java的拓展,在Java的基础上又拓展了一些语法,例如: 输出Hello World println("HelloWorld")System.out.println("Hello Scala from Java") 上面两段代码都可以输出内容. package chapter01 ​ /*object: 关键字,声明…

深度学习革命-AI发展详解

深度学习革命 《深度学习革命》是一部引人深思的作品,详细讲述了深度学习技术的发展历程及其对各个行业的深远影响。由杰出的计算机科学家、深度学习专家撰写,这本书不仅适合科技领域的专业人士阅读,也为普通读者提供了一个理解人工智能革命…

vue数组在浏览器里可以看到值, 但是length为空

arr数组 length为0, 检查了代码在created 里调用了 this.getEnergyList(); 和 this.initChart(); 问题就在这里, this.initChart用到了getEnergyList里的数据, 造成了数据异步, 把this.initChart(); 放入 this.getEnergyList(); 方法里即可解决问题

鸿蒙原生应用元服务开发-设备管理USB服务开发场景与接口

场景介绍 Host模式下,可以获取到已经连接的USB设备列表,并根据需要打开和关闭设备、控制设备权限、进行数据传输等。 接口说明 USB服务主要提供的功能有:查询USB设备列表、批量数据传输、控制命令传输、权限控制等。 USB类开放能力如下&#…