跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)

文章目录

  • 一、model介绍
  • 二、Module
  • 三、张量
    • 3.1 定义
    • 3.2 用法

一、model介绍

容器                                          Containers
卷积层                                        Convolution Layers
池化层                                        Pooling layers
填白层                                        Padding Layers
非线性激活(加权和,非线性)                  Non-linear Activations (weighted sum, nonlinearity)
非线性激活(其他)                            Non-linear Activations (other)
正则化层                                      Normalization Layers
复发性层                                      Recurrent Layers
变压器层                                      Transformer Layers
线性层                                        Linear Layers
辍学层                                        Dropout Layers
稀疏层                                        Sparse Layers
距离函数                                      Distance Functions
损失函数                                      Loss Functions
视觉层                                        Vision Layers
洗牌层(打乱)                                Shuffle Layers
数据并行层                                    DataParallel Layers (multi-GPU, distributed)
量化的功能                                    Quantized Functions
惰性模块初始化                                Lazy Modules Initialization

以后一一介绍

二、Module

class Model(nn.Module):def __init__(self) -> None:super().__init__()self.conv1 = nn.Conv2d(1, 20, 5)self.conv2 = nn.Conv2d(20, 20, 5)def forward(self, x):x = F.relu(self.conv1(x))return F.relu(self.conv2(x))

定义自己的类(神经网络),自己继承了Module的父类,但是有想进行修改,则定义了__init__和forward,
之后就是调用父类的初始化函数。forward(前向传播),backward(反向传播)。

x魏输入,F.relu(self.conv1(x)),先经过一次卷积conv1,之后经过一次非线性relu
由于返回时return F.relu(self.conv2(x))所有总共两组。
示例

import torch
from torch import nn
class Tudui(nn.Module):def __init__(self):super().__init__()def forward(self,input):output = input + 1return output
tudui = Tudui()
x = torch.tensor(1.0)
output = tudui(x)
print(output)

三、张量

3.1 定义

数学中
标量:单独的数
向量:一行或一列数组
矩阵:二维数组
张量:维度超过2的数组

PyTorch中
张量(Tensor)是一种数据结构,可以是一个标量、一个向量、一个矩阵,甚至是更高维度的数组。

所以PyTorch中的张量(Tensor)和Numpy中的**数组(ndarray)**非常相似。

3.2 用法

一、张量的数据类型、默认类型、类型转换。
二、张量的生成:torch.tensor()、torch.Tensor()、张量和NumPy数据互相转换、随机数生成张量、函数生成等。
三、张量操作:改变张量的形状、获取张量中的元素、拼接和拆分等。
四、张量计算:比较大小、基本运算、统计相关计算等。

文章链接:【PyTorch】张量超详细介绍(数据类型、生成、操作、计算)

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Qos基本原理+园区网络

解决网络拥塞最直接就是增加带宽,但是费钱。可以用Qos解决 Qos( Quality of Service) 设置不同流量不同优先级 1. QoS技术概述 延迟 v.s. 延迟抖动 延迟 vs 延迟抖动 延迟:指一个数据包从源端传输到目的端所需要的时间。延迟是一个静态的值&#xff0…

SQL用一个字段查询出数据的交集

出个SQL查询的题吧,有兴趣的可以看看 1、问题 下面有一份数据(图1),由两部分组成:分析数据和基准数据 分析数据标识列为1,基准数据标识列为1,两字段0,1互斥 要求:按找出两部分数据…

【后端】javaweb过滤器Filter

过滤器Filter 实现敏感词、只能通过登录进入页面。 原理 当我们使用过滤器时,过滤器会对游览器的请求进行过滤,过滤器可以动态的分为3个部分,1.放行之前的代码,2.放行,3.放行后的代码,这3个部分分别会发挥…

C++初阶(十一)--STL--string类

目录 一、string类的概述 二、string类的创建与初始化 1. 直接初始化 2. 无参初始化 3. 从字符数组初始化 三、string类的基本操作 1.string的定义方式 2.string的插入 3.string的拼接 4.string的删除 5.string的查找 6.string的比较 7.string的大小和容量 8.st…

C#笔记 —— 事件

事件的语法 访问修饰符 event 委托类型 事件名; 例: public event Action myEvent; 事件的使用 事件的使用跟委托基本上一模一样, 1.但是事件不能在类外部直接赋值,只能使用 或 - 添加或删除函数; 2.事件不能在类…

Pandas | 理性判断数据是否存在缺失值的一种方法

理性判断 一般思路进一步思考df[B].explode() 一般思路 tcc.info()上述信息info显示没有缺失值 但是真实的情况还是要根据业务实际分析tcc.isnull().sum() # 和tcc.info()作用和tcc.info() 其实是一样的 进一步思考 在此过程中,我们需要检验是否存在采用别的值来表…

leetcode 382.链表随机结点

1.题目要求: 2.题目代码: /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x)…

Java Development Kit (JDK) 详解

什么是 JDK? JDK 是 Java Development Kit 的缩写,是一组用于开发 Java 应用程序的软件开发工具和库的集合。JDK 包含了 Java 运行时环境(JRE)和 Java 虚拟机(JVM),以及一系列开发工具和库。 …

【5.8】指针算法-双指针验证回文串

一、题目 给定一个字符串,验证它是否是回文串, 只考虑字母和数字字符 ,可以忽略字母的大小写。 说明: 本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man , a plan , a canal : Panama " 输…

多功能 Web 应用渗透测试系统

系统简介 本项目命名为SecurityEye,是一款基于 Python-Django 的多功能 Web 应用渗透测试系统,包含漏洞检测、目录识别、端口扫描、指纹识别、域名探测、旁站探测、信息泄露检测、网站权重探测等功能。 项目功能 本系统通过旁站探测、域名探测、、域名…

libstdc++/so.6: version ‘GLIBCXX_3.4.29‘ not found (required by

matlab使用过程中提示库文件版图过低,如图 1. 网上或者其他eda的工具目录里面找一个libstdc.so.6.29文件,里面包含了glibcxx3.4.29 2. 复制文件到/usr/lib64目录下面 3. libstdc.so.6连接到新的库文件 unlink libstdc.so.6 ln -s libstdc.so.6.0.29 l…

有序数组的平方

给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 基础使用先平方&#xff0c;后排序的思想 class Solution {public int[] sortedSquares(int[] nums) {for(int i0;i<nums.length;i){nums…

flutter 专题七 Flutter面试之渲染流程

一、 简介 Flutter面试中必问的一个面试题就是渲染相关的话题。作为Google在2018年发布的一款跨平台UI框架&#xff0c;使用Dart作为其开发语言&#xff0c;底层使用Skia图形库进行视图渲染&#xff0c;渲染速度和用户体验堪比原生。 二、Flutter渲染流程 总的来说&#xff…

深入理解 TCP 的握手与挥手机制:为何握手 3 次,挥手 4 次?

在网络通信的世界里&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种非常重要的协议&#xff0c;它确保了数据在网络中的可靠传输。而 TCP 的连接建立&#xff08;握手&#xff09;和连接断开&#xff08;挥手&#xff09…

Python-数据爬取(爬虫)

在数据驱动的时代&#xff0c;Python以其强大的数据处理能力和丰富的库资源&#xff0c;成为数据爬取的首选语言。通过Python&#xff0c;你可以轻松地从网页中抓取所需的数据&#xff0c;无论是价格信息、新闻内容还是用户评论&#xff0c;都能一一收入囊中。使用requests库发…

基于51单片机水位监测控制报警仿真设计

基于51单片机水位监测控制报警仿真设计 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff1a; 基于51单片机水位监测控制报警仿真设计( proteus仿真程序设计报告讲解视频&#xff09; …

JavaFX在Linux aarch64上运行

1.适配Jdk Linux开发项目安装在麒麟系统&#xff0c;无法安装&#xff0c;经查询因cpu架构不同导致无法运行 https://www.oracle.com/sg/java/technologies/downloads/#java21 该链接可下载jdk21,Linux aarch64版本。 2.适配Javafx模块 替换jdk之后&#xff0c;JavaFX仍无…

3D区块多重渐变围栏

这里主要用到的就是threejs的shader&#xff0c;至于其他知识点&#xff0c;可以参考json生成3d区域 下面的主要代码&#xff1a; import * as THREE from three; import { OrbitControls } from three/addons/controls/OrbitControls.js import { EffectComposer } from th…

【NLP】使用 SpaCy、ollama 创建用于命名实体识别的合成数据集

命名实体识别 (NER) 是自然语言处理 (NLP) 中的一项重要任务&#xff0c;用于自动识别和分类文本中的实体&#xff0c;例如人物、位置、组织等。尽管它很重要&#xff0c;但手动注释大型数据集以进行 NER 既耗时又费钱。受本文 ( https://huggingface.co/blog/synthetic-data-s…