Pytorch代码基础—张量

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第四课,python基础语法(算术运算符及其复合运算符、字符串三种定义方式)

一,算术运算符 经过前几节课的学习之后同学们对加减乘除已经不再陌生,本节课进一步掌握两个新的运算符,整除(//)和模(%),整除用来计算两数相除的商,而模用来计算两数相除…

ES6之正则扩展

正则表达式扩展 u修饰符(Unicode模式)y修饰符(Sticky或粘连模式)s修饰符(dotAll模式)Unicode属性转义正则实例的flags属性字符串方法与正则表达式的整合 javascript的常用的正则表达式 验证数字邮箱验证手机…

windows 安装 Conda

1 Conda简介 Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软…

【LAMMPS学习】九、LAMMPS脚本 示例

9. 示例脚本 LAMMPS 发行版包含一个包含许多示例问题的示例子目录。许多是二维模型,运行速度快且易于可视化,在台式机上运行最多需要几分钟。每个问题都有一个输入脚本 (in.*),并在运行时生成一个日志文件 (log.*)。有些使用初始坐标的数据文…

刷代码随想录有感(65):回溯算法——组合问题

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<vector<int>> res;vector<int> tmp;void backtracking(int n, int k, int start){if(tmp.size() k){res.push_back(tmp);return;}for(int i start; i < n; i){tmp.push_back(i);bac…

支持不同业务模式与安全要求的跨网传输解决方案,了解一下

对于科技研发型企业来说&#xff0c;最值钱的是研发代码这类数据资产。因此很多企业会想将这些数据“困”在内部&#xff0c;防止数据泄露。最常见的做法是通过防火墙、DMZ区、双网卡主机、虚拟机、网闸/光闸等隔离方式&#xff0c;将网络划分为企业内外网&#xff0c;较为常见…

云商城系统源码,无后门,一站式系统Java源码

云商城系统&#xff0c;无后门&#xff0c;一站式系统Java源码&#xff0c;心权益商品数量不限数量 系统对接 手动发货 自动发货 兑 换 码 订单监控 商品监控 对象存储 邮箱提醒 加价模板 密价功能 三方支付 会员体系 财务明细 交易分析 售后服务 技术支持 【Java源码】云商…

Java面试八股之为什么要使用克隆

Java中为什么要使用克隆&#xff1f;怎么实现对象的克隆&#xff1f;深拷贝和浅拷贝的区别是什么 在Java中使用克隆主要有以下几个原因&#xff1a; 创建对象副本&#xff1a;克隆可以快速创建一个与原对象状态完全相同的副本&#xff0c;无需手动逐一复制每个属性。这种情况…

04-单片机商业项目编程,从零搭建低功耗系统设计

一、本文内容 上一节《03-单片机商业项目编程&#xff0c;从零搭建低功耗系统设计-CSDN博客》我们确定了设计思路&#xff0c;并如何更有效的保持低功耗&#xff0c;这节我们就准备来做软件框架设计。在AI飞速发展的时代&#xff0c;我们也会利AI来辅助我们完成&#xff0c;让自…

k8s v1.20二进制部署 部署 CNI 网络组件 部署 Calico

一、部署 flannel 1.1.K8S 中 Pod 网络通信 ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容器是不会跨宿主机的&#xff09;共享同一个网络命名空间&#xff0c;相当于它们在同一台机器上一样&#xff0c;可以用 localhost 地址访问彼此的端口。…

【MATLAB源码-第59期】基于matlab的QPSK,16QAM164QAM等调制方式误码率对比,调制解调函数均是手动实现未调用内置函数。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 正交幅度调制&#xff08;QAM&#xff0c;Quadrature Amplitude Modulation&#xff09;是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度&#xff08;π/2&#xff09;的正弦波&#xff0c;因此…

【R语言与统计】SEM结构方程、生物群落、多元统计分析、回归及混合效应模型、贝叶斯、极值统计学、meta分析、copula、分位数回归、文献计量学

统计模型的七大类&#xff1a;一&#xff1a;多元回归 在研究变量之间的相互影响关系模型时候&#xff0c;用到这类方法&#xff0c;具体地说&#xff1a;其可以定量地描述某一现象和某些因素之间的函数关系&#xff0c;将各变量的已知值带入回归方程可以求出因变量的估计值&…

[Algorithm][回溯][组合][目标和][组合总和]详细讲解

目录 1.组合1.题目链接2.算法原理详解3.代码实现 2.目标和1.题目链接2.算法原理详解3.代码实现 3.组合总和1.题目链接2.算法原理详解3.代码实现 1.组合 1.题目链接 组合 2.算法原理详解 思路&#xff1a;每次都只选一个数&#xff0c;此后只能选它后面的数函数设计&#xff…

RK3568平台开发系列讲解(SPI篇)spi_dev 驱动分析

🚀返回专栏总目录 文章目录 一、结构体二、API三、spidev驱动分析3.1、init3.2、probe3.3、spidev_write3.4、spidev_read3.5、spidev_open四、spi_register_driver分析五、spi_dev缺点沉淀、分享、成长

通过java将数据导出为PDF,包扣合并单元格操作

最近项目中需要将查询出来的表格数据以PDF形式导出&#xff0c;并且表格的形式包含横向行与纵向列的单元格合并操作&#xff0c;导出的最终效果如图所示&#xff1a; 首先引入操作依赖 <!--导出pdf所需包--><dependency><groupId>com.itextpdf</groupId&…

项目管理-案例重点知识(风险管理)

项目管理 : 每天进步一点点~ 活到老&#xff0c;学到老 ヾ(◍∇◍)&#xff89;&#xff9e; 何时学习都不晚&#xff0c;加油 二、风险管理 案例重点 重点内容&#xff1a; &#xff08;1&#xff09;风险划分 &#xff08;2&#xff09;SWOT 分析&#xff0c;提示清单 …

Golang RPC实现-day01

导航 Golang RPC实现一、主体逻辑设计二、服务设计1、监听和接收请求2、处理请求(1)服务结构体定义(2)确认请求方和服务方编解码格式(3)循环读取请求(4)解析请求的内容(5)响应请求 三、读取和发送数据到连接中代码 Golang RPC实现 先来一个最简单的版本&#xff0c;后续更新。…

BakedSDF: Meshing Neural SDFs for Real-Time View Synthesis 论文阅读

&#xff08;水一篇博客&#xff09; 项目主页 BakedSDF: Meshing Neural SDFs for Real-Time View Synthesis 作者介绍 是 Mildenhall 和 Barron 参与的工作&#xff08;都是谷歌的&#xff09;&#xff0c;同时一作是 Lipman 的学生&#xff0c;VolSDF 的一作。本文引用…

使用Caché管理工具

Cach通过一个web工具来对其进行系统管理和完成管理任务,该方法的一个好处是不必将Cach安装到用于管理的系统上。目前,通过网络远程管理和控制对站点的访问,这些都比较容易。因为数据及其格式信息都直接来自被管理的系统,因此,这也可以最小化跨版本的兼容问题。 本文将描述…

企业微信hook接口协议,ipad协议http,获取群成员列表简洁版

获取群成员列表简洁版 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","roomid":10696052955016166 } 返回示例 {"data": {&q…