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

Pytorch常用函数

Pytorch

    • 1 一些操作含义
    • 2 常用函数
      • torch.squeeze
      • torch.unsqueeze
      • torch.transpose
      • 随机数生成
      • Tensor详细内容

1 一些操作含义

  1. 下划线后缀含义:
    在touch中函数后面加下划线代表是原位(In-place)操作,也就是内存的位置不变化,比如torch.add(value)和torch.add_(value)
    备注:In-place运算是一种直接改变给定线性函数、向量、矩阵(张量)内容而不复制的运算,因此在操作高维数据时,它能够减少内存使用
  2. like后缀含义:
    在touch中函数后缀有like代表生成的形状维度与输入矩阵的形状维度一致

2 常用函数

torch.squeeze

  1. torch.squeeze(input, dim=None, out=None)
    将输入张量形状中的1 去除并返回。 如果输入是形如(A×1×B×1×C×1×D)
    ,那么输出形状就为: (A×B×C×D)
    当给定dim时,那么挤压操作只在给定维度上。例如,输入形状为: (A×1×B)
    , squeeze(input, 0) 将会保持张量不变,只有用 squeeze(input, 1),形状会变成 (A×B)
  2. 如果dim为负,则将会被转化dim+input.dim()+1,(可以记为从后往前数维度)。dim的维度范围([-input.dim() - 1, input.dim() + 1)
  3. 参数:

tensor (Tensor) – 输入张量

dim (int) – 插入维度的索引

out (Tensor, optional) – 结果张量

具体代码示例

‘’’

import torch
x = torch.zeros(2,1,2,1,2)
x.size()
torch.Size([2, 1, 2, 1, 2])
y=torch.squeeze(x)
y.shape
torch.Size([2, 2, 2])
y=torch.squeeze(x,0)
y.shape
torch.Size([2, 1, 2, 1, 2])
y=torch.squeeze(x,1)
y.size()
torch.Size([2, 2, 1, 2])
y=torch.squeeze(x,-4)
y.shape
torch.Size([2, 2, 1, 2])

‘’’

torch.unsqueeze

torch.unsqueeze(input, dim, out=None),squeeze的逆操作,返回一个新的张量,对输入的指定位置插入维度 1。

具体代码示例

‘’’

x = torch.tensor([1, 2, 3, 4])
x
tensor([1, 2, 3, 4])
torch.unsqueeze(x, 0)
tensor([[1, 2, 3, 4]])
torch.unsqueeze(x, 1)
tensor([[1],
[2],
[3],
[4]])
‘’’

torch.transpose

torch.transpose(input, dim0, dim1, out=None) → Tensor,返回输入矩阵input的转置。交换维度dim0和dim1。

如果输入是一个跨步张量,则结果张量与输入张量共享其底层存储,因此更改其中一个的内容将更改另一个的内容。
如果输入是一个稀疏张量,则结果张量不与输入张量共享底层存储。

参数:
input (Tensor) – 输入张量
dim0 (int) – 转置的第一维
dim1 (int) – 转置的第二维

‘’’

x=torch.randn(2,3,4)
x
tensor([[[-2.2487, -0.5821, 1.1262, 0.7496],
[ 0.8734, 1.6248, -0.5010, 0.7022],
[ 0.4190, 1.6377, -0.1449, 1.1198]],

    [[ 0.2262, -0.8953, -2.3222,  1.6512],[ 0.7219, -0.1876,  0.6869, -0.3515],[-1.2393,  0.7014, -0.3381, -0.7055]]])

torch.transpose(x,0,1)
tensor([[[-2.2487, -0.5821, 1.1262, 0.7496],
[ 0.2262, -0.8953, -2.3222, 1.6512]],

    [[ 0.8734,  1.6248, -0.5010,  0.7022],[ 0.7219, -0.1876,  0.6869, -0.3515]],[[ 0.4190,  1.6377, -0.1449,  1.1198],[-1.2393,  0.7014, -0.3381, -0.7055]]])

‘’’

随机数生成

函数生成类型
normal离散正态分布中随机抽取浮点数
rand从区间[0,1)的均匀分布中抽取的随机抽取一组浮点数
randn从标准正态分布(均值为0,方差为 1)中随机抽取一组浮点数
randint半开区间[start, end),从start开始到end之间均匀生成的随机整数
randperm给定参数n,返回一个从0 到n -1 的随机整数
range区间[start, end],从start开始到end,以step为步长的一组值(不建议使用)
arange半开区间[start, end),从start开始到end,以step为步长的一组值,当start和end都为整数,输出整数值,有一个为浮点数,则输出浮点数

Tensor详细内容

查看Tensor的相关概念及操作

相关文章:

Pytorch常用函数

Pytorch 1 一些操作含义2 常用函数torch.squeezetorch.unsqueezetorch.transpose随机数生成Tensor详细内容 1 一些操作含义 下划线后缀含义: 在touch中函数后面加下划线代表是原位(In-place)操作,也就是内存的位置不变化,比如torch.add(valu…...

如何利用python连接讯飞的星火大语言模型

星火大模型是科大讯飞推出的一款人工智能语言模型,它采用了华为的昇腾910 AI处理器。这款处理器是一款人工智能处理器,具有强大的计算能力和高效的能耗控制能力。 华为昇腾910 AI处理器采用了创新的Da Vinci架构,这种架构在设计上充分考虑了…...

【Kubernetes 基本概念】Kubernetes 的架构和核心概念

目录 一、Kurbernetes1.1 简介1.2 为什么要用K8s?1.3 K8s的特性 二、Kurbernetes集群架构与组件三、Kurbernetes的核心组件3.1 Master组件3.1.1 Kube-apiserver3.1.2 Kube-controller-manager3.1.3 Kube-scheduler 3.2 配置存储中心——etcd3.3 Node组件3.3.1 Kubelet3.3.2 Ku…...

Docker安装部署Elasticsearch+Kibana+IK分词器

Docker安装部署ElasticsearchKibanaIK分词器 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器,启动! Docker安装部署Kibana拉取镜像Kibana容器,启动! 安装IK分词器安装方式一:直接从github上…...

PCL setCameraPosition 参数讲解

setCameraPosition 的原型如下void setCameraPosition (double pos_x, double pos_y, double pos_z,double view_x, double view_y, double view_z,double up_x, double up_y, double up_z, int viewport 0);pos_x pos_y pos_z为相机所在的位置view_x view_y view_z 是焦点所…...

有关YOLOV5在测试时,图片大小被调整的问题

执行detect.py文件,在运行栏中出现以下: detect: weightsyolov5s.pt, sourcedata\images, datadata\coco128.yaml, imgsz[640, 640], conf_thres0.25, iou_thres0.45, max_det1000, device, view_imgFalse, save_txtFalse, save_confFalse, save_cropFa…...

【机器学习】四、计算学习理论

1 基础知识 计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结…...

spring解决后端显示时区的问题

spring解决后端显示时区的问题 出现的问题: 数据库中的数据: 解决方法 spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: Asia/Shanghai...

大模型冷思考:企业“可控”价值创造空间还有多少?

文 | 智能相对论 作者 | 叶远风 毫无疑问,大模型热潮正一浪高过一浪。 在发展进程上,从最开始的技术比拼到现在已开始全面强调商业价值变现,百度、科大讯飞等厂商都喊出类似“不能落地的大模型没有意义”等口号。 在模型类型上&#xff0…...

ctfshow-web入门37-52

include($c);表达式包含并运行指定文件。 使用data伪协议 ?cdata://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg 是<?php system(cat flag.php);?> base64加密 源代码查看得到flag 38 多禁用了ph…...

前端项目部署后,需要刷新页面才能看到更新内容

问题背景 前端项目部署更新后&#xff0c;通知业务验证&#xff0c;业务点击收藏的标签&#xff0c;打开网页后没有看到修改的内容&#xff0c;每次都需要手动刷新&#xff0c;用户体验非常不好。 问题原因&#xff1a;缓存未过期&#xff0c;浏览器直接读取本地缓存&#xf…...

android 13 write javaBean error at *** 错误

报错代码&#xff1a;红框处。 注意&#xff1a;android10 不会报错&#xff0c;运行正常。android13就报错 错误原因&#xff1a;对象中VerifyDownloadEntity&#xff0c;有个Bitmap成员变量 public class VerifyDownloadEntity {private Bitmap bitmap;private String cooki…...

Only fullscreen opaque activities can request orientation

出现Only fullscreen opaque activities can request orientation是谷歌爸爸在安卓8.0版本时为了支持全面屏&#xff0c;增加了一个限制&#xff1a;如果是透明的Activity&#xff0c;则不能固定它的方向&#xff0c;因为它的方向其实是依赖其父Activity的&#xff08;因为透明…...

前端实验(一)单页面应用的创建

实验目的 掌握使用vite创建vue3单页面程序命令熟悉所创建程序的组织结构熟悉单页面程序运行原理能够编写简单的单页面程序 实验内容 创建一个名为vue-demo的单页面程序编写简单的单页面程序页面运行单页面程序 实验步骤 使用vite创建单页面程序 创建项目名为目录vue-demo的…...

数字人小灿:始于火山语音,发于 B 端百业

火爆的数字人市场又有新消息来袭&#xff1a;火山语音的数字人小灿来了&#xff01; 数字人小灿首曝视频 今年以来&#xff0c;在生成式AI浪潮的助推下&#xff0c;大量企业争相布局数字人赛道。市场之所以如此火热&#xff0c;是因为AI数字人已被视为人工智能时代智能交互的入…...

蓝桥杯刷题

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析&#xff08;3&#xff09; &#x1f449;&#x1f3fb;最大降雨量 原题链接&#xff1…...

Go Metrics SDK Tag 校验性能优化实践

背景 Metrics SDK 是与字节内场时序数据库 ByteTSD 配套的用户指标打点 SDK&#xff0c;在字节内数十万服务中集成&#xff0c;应用广泛&#xff0c;因此 SDK 的性能优化是个重要和持续性的话题。本文主要以 Go Metrics SDK 为例&#xff0c;讲述对打点 API 的 hot-path 优化的…...

二叉树问题——前/中/后/层遍历问题(递归与栈)

摘要 博文主要介绍二叉树的前/中/后/层遍历(递归与栈)方法 一、前/中/后/层遍历问题 144. 二叉树的前序遍历 145. 二叉树的后序遍历 94. 二叉树的中序遍历 102. 二叉树的层序遍历 103. 二叉树的锯齿形层序遍历 二、二叉树遍历递归解析 // 前序遍历递归LC144_二叉树的前…...

Vue3问题:如何实现级联菜单的数据懒加载?

前端功能问题系列文章&#xff0c;点击上方合集↑ 序言 大家好&#xff0c;我是大澈&#xff01; 本文约3100字&#xff0c;整篇阅读大约需要5分钟。 本文主要内容分三部分&#xff0c;第一部分是需求分析&#xff0c;第二部分是实现步骤&#xff0c;第三部分是问题详解。 …...

STM32-电源管理(实现低功耗)

电源管理 STM32 HAL库对电源管理提供了完善的函数和命令。 工作模式&#xff08;高功耗->低功耗&#xff09;&#xff1a;运行、睡眠、停止、待机。 若备份域电源正常供电&#xff0c;备份域内的RTC都可以正常运行&#xff0c;备份域内的寄存器的数据会被保存&#xff0c;不…...

【限时解禁】PyTorch 3.0静态图训练最佳实践白皮书(含21个真实集群trace日志+自动调优脚本)

第一章&#xff1a;PyTorch 3.0静态图分布式训练全景概览PyTorch 3.0 引入了原生静态图编译能力&#xff08;TorchDynamo Inductor 后端深度集成&#xff09;&#xff0c;结合 torch.distributed 的增强型 API&#xff0c;构建出面向大规模集群的高性能分布式训练范式。与传统…...

手把手教你用立创EDA搞定蓝桥杯十五届省赛真题PCB:从元器件布局到差分对走线详解

立创EDA实战&#xff1a;蓝桥杯PCB设计竞赛全流程拆解 参加蓝桥杯EDA竞赛的同学们常常面临一个核心挑战&#xff1a;如何在有限时间内完成既符合电气特性又具备竞赛美学的PCB设计。作为连续三年担任蓝桥杯EDA组指导的技术顾问&#xff0c;我发现90%的参赛者在差分对处理、电源模…...

BeRoot项目架构揭秘:模块化设计的权限提升检测系统

BeRoot项目架构揭秘&#xff1a;模块化设计的权限提升检测系统 【免费下载链接】BeRoot Privilege Escalation Project - Windows / Linux / Mac 项目地址: https://gitcode.com/gh_mirrors/be/BeRoot BeRoot是一款强大的跨平台权限提升检测系统&#xff0c;支持Windows…...

Android设备唯一标识终极指南:从IMEI到OAID的完整解决方案(附代码)

Android设备唯一标识终极指南&#xff1a;从IMEI到OAID的完整解决方案&#xff08;附代码&#xff09; 在移动应用开发中&#xff0c;设备唯一标识是许多业务场景的基础需求——从用户设备绑定、反作弊系统到精准数据分析都离不开它。但Android生态的碎片化让这个"简单&qu…...

【NOIP】1999真题解析 luogu-P1015 回文数 | GESP四、五级以上可练习

NOIP 1999 普及组真题&#xff0c;主要考察字符串处理、高精度加法以及任意进制的进位规则。解题的核心是将数字看作字符串处理&#xff0c;在循环累加中验证回文特征。适合GESP四、五级以上考生练习。题目难度⭐⭐☆☆☆&#xff0c;洛谷难度等级普及−。 luogu-P1015 [NOIP …...

TranslucentTB:Windows任务栏透明化改造的工程级解决方案

TranslucentTB&#xff1a;Windows任务栏透明化改造的工程级解决方案 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 当你面对Windows单调…...

电力行业新手必看:645协议与698协议的区别及实际应用场景解析

电力行业通信协议实战指南&#xff1a;645与698协议的核心差异与应用解析 刚入行的电力系统工程师们&#xff0c;是否曾被各种通信协议搞得晕头转向&#xff1f;面对DL/T645和698协议时&#xff0c;是否疑惑过它们究竟有什么区别&#xff0c;又该在什么场景下使用&#xff1f;今…...

高效整合B站缓存:智能合并技术让离线观看体验升级

高效整合B站缓存&#xff1a;智能合并技术让离线观看体验升级 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 问题溯源&#xff1a;当缓存视频遭遇"数字拆分"困境 解码用户痛点&#xff1…...

零基础玩转AI春联生成:手把手教你Windows WSL2部署达摩院春联模型

零基础玩转AI春联生成&#xff1a;手把手教你Windows WSL2部署达摩院春联模型 春节将至&#xff0c;家家户户都开始准备贴春联。但每年想一副既传统又有新意的对联可不容易——要么是市场上买的千篇一律&#xff0c;要么自己绞尽脑汁也想不出好句子。今天&#xff0c;我将带你…...

如何通过 SEO 和 ASO 提高网站和应用的转化率

SEO和ASO&#xff1a;双管齐下提高网站和应用的转化率 在当今数字化时代&#xff0c;网站和应用的成功不仅取决于其功能和用户体验&#xff0c;更在于如何吸引流量并将其转化为实际用户。这就需要我们深入了解和运用搜索引擎优化&#xff08;SEO&#xff09;和应用商店优化&am…...