Pytorch代码基础—张量

news2024/11/15 19:37:18

Pytorch代码—张量

Pytorch张量

张量的属性:
在这里插入图片描述

  • data:被包装的Tensor
  • grad:data的梯度
  • grad_fn:创建Tensor的Function,是自动求导的关键
  • requires_grad:指示是否需要梯度
  • isleaf:指示是否是叶子结点(张量)
  • dtype:张量的数据类型,如 torch.FloatTensor,torch.cuda.FloatTensor
  • shape:张量的形状,如(64,3,224,224)
  • device:张量所在设备,GPU/CPU,是加速的关键

张量的创建

直接创建

1.方式一

torch.tensor()

在这里插入图片描述

  • data:数据,可以是list,numpy
  • dtype:数据类型,默认与data的一致
  • device:所在设备,cuda/cpu
  • requires_grad:是否需要梯度
  • pin_memory:是否存于锁页内存
依据数值进行创建
  1. 方式二

torch.from_numpy(ndarray)
功能:从numpy创建tensonr
注意事项:从torch.from_numpy创建的tensor于原ndarray共享内存,当修改其中一个的数据,另外一个也将会被改动

即当numpy的数据发生变化时,张量的数据也发生改变

  1. 方式三:创建全为0的张量

在这里插入图片描述
功能:依size创建全0张量

  • size:张量的形状,如(3,3)、(3,224,224)
  • out:输出的张量
  • layout:内存中布局形式,有strided,sparse_coo等
  • device:所在设备,gpu/cpu
  • requires_grad:是否需要梯度
  1. 方式四
    在这里插入图片描述

功能:依input形状创建全0张量

  • intput:创建与input同形状的全o张量
  • dtype:数据类型
  • layout:内存中布局形式

在这里插入图片描述

torch.full()

功能:依input形状创建指定数据的张量

  • size:张量的形状,如(3,3)
  • fillvalue:张量的值

在这里插入图片描述
功能:创建等差的1维张量 注意事项:数值区间为[start,end】

  • start:数列起始值
  • end:数列结束值
  • step:数列公差,默认为1

在这里插入图片描述

功能:创建均分的1维张量

  • start:数列起始值
  • end:数列结束值
  • steps:数列长度

在这里插入图片描述

功能:创建对数均分的1维张量

  • start:数列起始值
  • end:数列结束值
  • steps:数列长度
  • base:对数函数的底,默认为10
根据概率分布来进行创建

在这里插入图片描述
功能:生成正态分布(高斯分布)

  • mean:均值
  • std:标准差

在这里插入图片描述
功能:生成标准正态分布

  • size:张量的形状

张量的操作

张量的合并与切分

在这里插入图片描述

torch.cat()

功能:将张量按维度dim进行拼接

  • tensors:张量序列
  • dim:要拼接的维度

torch.stack()

功能:在新创建的维度dim上进行拼接

  • tensors:张量序列
  • dim:要拼接的维度

在这里插入图片描述

功能:将张量按维 度d im 进行切分 返回值:张量列表

  • tensor : 要切分的张量
  • split_size_or_sections : 为int时表示每一份的长度;为 list时 , 按list元素切分
  • dim : 要切分的维度
张量索引

在这里插入图片描述
功能:在维度dim上,按index索引数据返回值:依index索引数据拼接的张量

  • input:要索引的张量
  • dim:要索引的维度
  • index:要索引数据的序号
张量变换

在这里插入图片描述

  • input:要变换的张量
  • shape:新张量的形状

在这里插入图片描述
功能:交换张量的两个维度

  • input:要变换的张量
  • dim0:要交换的维度
  • dim1:要交换的维度

在这里插入图片描述

torch.sgueeze()

功能:压缩长度为1的维度(轴)

  • dim:若为None,移除所有长度为1的轴;若指定维度,当且仅当该轴长度为1时,可以被移除;

torch.unsgueeze()

功能:依据dim扩展维度

  • dim:扩展的维度

总结

pytorch的学习过程,应该在熟悉理论知识的基础上,结合官网文档和其他资料的基础上进行具体方法的时间,在时间的堆积,和项目的锻炼中才能进一步的提升熟练度。

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

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

相关文章

SpringBoot应用

文章目录 第一章、SpringBoot基础内容一、Spring和SpringBoot1、Spring介绍2、SpringBoot介绍 二、SpringBoot2入门操作1、在线构建2、idea构建 三、浅谈自动装配的原理 第二章、SpringBoot核心功能一、配置文件1、配置文件介绍2、语法规则3、数据类型4、案例使用 二、WEB开发1…

JavaScript基础知识强化:变量提升、作用域逻辑及TDZ的全面解析

🔥 个人主页:空白诗 文章目录 ⭐️ 引言🎯 变量提升(Hoisting)👻 暂时性死区(Temporal Dead Zone, TDZ)解释📦 var声明🔒 let与const声明📖 函数声明 与 函数表达式函数声…

【案例教程】土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测

查看原文>>>土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测 土地利用/土地覆盖数据是生态、环境和气象等领域众多模型的重要输入参数之一。基于遥感影像解译,可获取历史或当前任何一个区域的土地利用/土地覆盖数据,用于评估区域的生…

U盘制作PE后容量少了一半,如何恢复默认空间

格式化U盘 以前制作U盘PE后,从原本64G的容量变成了32G,一直也没去关注处理。 恰巧这两天又遇到U盘无法识别,数据无法读取,想着格式化恢复。 很遗憾,发现利用电脑快速格式化依然无法直接拿到空闲的另一半空间。 磁盘管…

[图解]SysML和EA建模住宅安全系统-03

1 00:00:00,490 --> 00:00:01,180 怎么加 2 00:00:01,570 --> 00:00:04,380 我们来看,这是刚才那个图 3 00:00:05,200 --> 00:00:06,390 17.7 4 00:00:07,150 --> 00:00:08,260 我们同样在这里加 5 00:00:08,430 --> 00:00:10,100 同样在这个下面…

超越人工智能:AnyTool,一款基于GPT-4的智能代理,引领API调用新纪元

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言:探索 AnyTool 的创新应用 在人类文明的发展历程中,我们不断探索和创新,利用各种工具增强我们的能力并提高生产效率。…

Python 全栈系列243 S2S flask_celery

说明 按现有的几个架构部件,构建数据流。 S Redis Stream。这个可以作为缓冲队列和简单任务队列,速度非常快,至少是万条/秒的速度。 Q RabbitMQ。这个作为任务队列,消息也主要是元数据。读速比较慢,但有一些特性&a…

百元以内的蓝牙耳机哪个牌子好?2024四大高品质品牌推荐!

通常对于预算有限的消费者来说,如何在百元以内找到一款品质卓越、性能出色的蓝牙耳机,确实是一个值得深思的问题,为了满足广大消费者的需求,我特别筛选了2024年四大高品质蓝牙耳机品牌,它们在价格亲民的同时&#xff0…

ACWing471. 棋盘-DFS剪枝

题目 思路 本思路参考博客AcWing 471. 棋盘 - AcWing 约束方程&#xff1a; 代码 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 110, INF 0x3f3f3f3f; int g[N][N], n, m, dist[N][N]; int dx[4] {-1…

CSRF 攻击实验:更改请求方式绕过验证

前言 CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;也称为XSRF&#xff0c;是一种安全漏洞&#xff0c;攻击者通过欺骗用户在受信任网站上执行非自愿的操作&#xff0c;以实现未经授权的请求。 CSRF攻击利用了网站对用户提交的请求缺乏充分验证和防范…

力扣【旋转函数】python

如果直接用暴力的话&#xff0c;只能过4个样例好像&#xff0c;超时 因此得用递推公式 F1F0前n-1个数-(n-1)*第n个数 F0sum(nums)-n*第n个数 nlen(nums) ans[]#定义一个存最大值值的列表 ss sum(nums) dm 0 for j in range(n):dm j * nums[j] ans.append(dm) print(dm) n…

基于EBAZ4205矿板的图像处理:05均值滤波算法

基于EBAZ4205矿板的图像处理&#xff1a;05均值滤波算法 项目全部文件已经上传&#xff0c;是免费的 先看效果 可以明显看到图像变糊了&#xff0c;这就是均值滤波的特点&#xff0c;将噪声均摊到每个点上的同时&#xff0c;也会让图像丢失细节。 算法讲解 均值滤波&#x…

【十大排序算法】----选择排序(详细图解分析+实现,小白一看就会)

目录 一&#xff1a;选择排序——原理 二&#xff1a;选择排序——分析 三&#xff1a;选择排序——实现 四&#xff1a;选择排序——优化 五&#xff1a;选择排序——效率 一&#xff1a;选择排序——原理 选择排序的原理&#xff1a;通过遍历数组&#xff0c;选出该数组…

6---Linux下版本控制器Git的知识点

一、Linux之父与Git的故事&#xff1a; Linux之父叫做“Linus Torvalds”&#xff0c;我们简称为雷纳斯。Linux是开源项目&#xff0c;所以在Linux的早期开发中&#xff0c;许多世界各地的能力各异的程序员都参与到Linux的项目开发中。那时&#xff0c;雷纳斯每天都会收到许许…

在浏览器执行js脚本的两种方式

fetch请求get 在浏览器执行http请求,可以使用fetch函数; fetch(“url”).then(response => response.text()) .then(data => console.log(JSON.parse(data)[‘status’])) .catch(error => console.error(error)) 直接返回json数据: fetch(“url”).then(response…

如何进行事务处理

1、问题背景 在数据库存储系统中&#xff0c;事务处理是一种保证多个数据库操作作为单个逻辑单元执行的技术。事务处理可以确保数据的一致性、完整性和隔离性。 在使用 Google Cloud Datastore 时&#xff0c;可以使用 datastore.transaction() 函数来进行事务处理。datastor…

ubuntu在conda环境中使用 pip install -r requirements.txt但是没有安装在虚拟环境中

whereis pip pip listubuntu在conda环境中使用pip install lpips0.1.3 但是安装在了这里 Requirement already satisfied: lpips0.1.3 in /home/uriky/anaconda3/lib/python3.11/site-packages (0.1.3) 就会出现黄色波浪&#xff0c;未在虚拟环境中安装包 解决办法1&#xff1…

在云服务器上运行StyleGAN3生成伪样本

首先是传入数据&#xff0c;这里我们不做赘述。 对于数据格式的裁剪&#xff0c;可以通过以下代码进行&#xff1a; from glob import glob from PIL import Image import os from tqdm import tqdm from tqdm.std import trangeimg_path glob(r"C:\Users\Administrato…

uniapp使用地图开发app, renderjs使用方法及注意事项

上次提到uniapp开发地图app时得一些问题&#xff0c;最后提到使用renderjs实现app中使用任何地图&#xff08;下面将以腾讯地图为例&#xff0c;uniapp中写app时推荐使用得是高德地图&#xff0c;无法使用腾讯地图&#xff08;renderjs方式除外&#xff09;&#xff09;。 1、…