Pytorch常用函数用法归纳:创建tensor张量
1.torch.arange()
(1)函数原型
torch.arange(start,end,step,*,out,dtype,layout=,device,requires_grad)
(2)参数说明:
参数名称 | 参数类型 | 参数说明 |
start | Number | 起始值,默认值为0 |
end | Number | 结束值,取不到,为开区间 |
step | Number | 步长值,默认为1 |
out | Tensor | 输出的张量,,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数 |
dtype | torch.dtype | 期望返回的张量的数据类型,如果是None,则使用全局默认值,如果未给出dtype,则从其他输入参数推断数据类型,如果start、end或stop中的任何一个是浮点数,则dtype被推断为默认值,否则被推断为torch.int64 |
layout | torch.layout | 返回张量的期望 layout,默认值为torch.strided |
device | torch.device | 返回张量的期望设备。如果是默认值None,则使用当前设备作为默认张量类型,对于CPU类型的张量,则device是CPU;若是CUDA 类型的张量,则device是当前的CUDA 设备 |
requires_grad | bool | autograd是否记录返回张量上的梯度。默认值为False,表示不记录 |
(3)函数功能:
返回大小为[(end-start)/step]的一维张量,其值为区间[start,end)中给定步长为step的等间隔取值
2.torch.range()
(1)函数原型:
torch.range(start,end,step,*,out,dtype,layout,device=None,requires_grad)
(2)参数说明:
参数名称 | 参数类型 | 参数说明 |
start | Number | 起始值,默认值为0 |
end | Number | 结束值,可以取到,为闭区间 |
step | Number | 步长值,默认为1 |
out | Tensor | 输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数 |
dtype | torch.dtype | 期望返回的张量的数据类型,如果是None,则使用全局默认值;如果未给出dtype,则从其他输入参数推断数据类型;如果start、end或stop中的任何一个是浮点数,则dtype被推断为默认值;否则被推断为torch.int64 |
layout | torch.layout | 返回张量的期望layout,默认值为torch.strided,对性能影响不大 |
device | torch.device | 返回张量的设备。默认值None表示使用当前设备作为默认张量类型;对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备 |
requires_grad | bool | autograd是否记录返回张量上的梯度。默认值为False,表示不记录 |
(3)函数功能:
返回大小为[(end-start)/step]的一维张量,其值为区间[start,end]中给定步长为step的等间隔取值
3.生成随机数组成的Tensor张量:
(1)函数原型:
1.torch.rand(*size,generator,out,dtype,layout,device,requires_grad)
2.torch.randn(*size,generator,out,dtype,layout,device,requires_grad)
3.torch.randint(low,high,*size,generator,out,dtype,layout,device,requires_grad)
4.torch.randperm(n,generator,out,dtype,layout,device,requires_grad)
5.torch.normal(mean,std,size,generator,out)
(2)参数说明:
参数名称 | 参数类型 | 参数说明 |
size | int/list/tuple | 生成tensor的维度大小,可以是int类型的数或者是一个由int类型数组成的list或tuple,若为int则表示此时生成的tensor是一维的 |
generator | torch.Generator,optional | 用于控制生成随机数的种子,是可选参数 |
low | int,optional | 生成的随机tensor所属整数区间的下界,默认值为0 |
high | int | 生成的随机tensor所属整数区间的上界 |
n | int | 生成随机整数排列的区间上界,即这些整数排列中最大值+1 |
mean | Tensor | 生成的随机tensor服从的正态分布的均值向量 |
std | Tensor | 生成的随机tensor数服从的正态分布的标准差向量 |
out | Tensor | 输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数 |
dtype | torch.dtype | 期望返回的张量的数据类型,对于torch.randint()和torch.randperm()来说默认值为torch.int64,而对于其他函数如果是None则使用全局默认值 |
layout | torch.layout | 返回张量的期望layout,默认值为torch.strided,对性能影响不大 |
device | torch.device | 返回张量的设备。默认值None表示使用当前设备作为默认张量类型;对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备 |
requires_grad | bool | autograd是否记录返回张量上的梯度。默认值为False表示不记录 |
(3)函数功能:
1.生成由[0, 1)之间均匀分布的随机数组成的给定size大小的tensor张量;
2.生成由从标准正态分布(均值为0,标准差为1)中采样的随机数组成的指定size大小的tensor张量;
3.生成由指定范围[low,high)内的随机整数组成的指定size大小的tensor张量
4.生成一个从[0,n)的随机整数排列的tensor张量
5.生成由服从给定均值mean和标准差std的正态分布的随机数组成的指定size大小的tensor张量;
size参数不是必须的,当省略size参数时生成的tensor大小由mean和std决定
4.生成由固定值组成的Tensor张量
(1)函数原型:
1.torch.ones(*size,out,dtype,layout,device,requires_grad)
2.torch.ones_like(input,dtype,layout,device,requires_grad)
3.torch.zeros(*size,out,dtype,layout,device,requires_grad)
4.torch.zeros_like(input,dtype,layout,device,requires_grad)
5.torch.fill(*size,fill_value,out,dtype,layout,device,requires_grad)
6.torch.eye(n,m,out,dtype,layout,device,requires_grad)
7.torch.empty(*size,out,dtype,layout,device,requires_grad)
8.torch.empty_like(input,out,dtype,layout,device,requires_grad)
(2)参数说明:
参数名称 | 参数类型 | 参数说明 |
size | int/list/tuple | 生成tensor的维度大小,可以是int类型的数或者是一个由int类型数组成的list或tuple,若为int则表示此时生成的tensor是一维的 |
input | torch.Tensor | 输入张量,新张量的大小将与此张量相同 |
dtype | torch.dtype | 期望返回的张量的数据类型; 对于torch.zeros_like()和torch.ones_like()来说默认值为None,如果是None则使用和张量input一致的类型;而对其他函数来说如果为None使用全局默认类型 |
out | Tensor | 输出的张量,表明创建后tensor赋予哪个变量,通常情况下不会设置该参数 |
layout | torch.layout | 返回张量的期望layout,默认值为torch.strided,对性能影响不大 |
device | torch.device | 返回张量的设备,默认值None表示使用当前设备作为默认张量类型; 对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备 |
requires_grad | bool | autograd是否记录返回张量上的梯度。默认值为False表示不记录 |
fill_value | Number | 指定填充到生成Tensor张量中的值 |
n | int | 生成的单位矩阵的行数 |
m | int,optional | 生成的单位矩阵的列数,默认情况下省略m,此时生成的是一个方阵 |
(3)函数功能:
1.生成给定size大小的一个全为1的Tensor张量
2.生成和输入张量input大小一致的一个全为1的Tensor张量
3.生成给定size大小的一个全为0的Tensor张量
4.生成和输入张量input大小一致的一个全为0的Tensor张量
5.生成给定size大小并且全为给定值fill_value的一个Tensor张量
6.生成大小为n*n的单位矩阵,是一个二维Tensor张量,默认情况下为方阵
7.生成给定size大小的一个填满未初始化数据的Tensor张量
8.生成和输入张量input大小一致的一个填满未初始化数据的Tensor张量
4.生成由现有数据值组成的Tensor张量
(1)函数原型:
1.torch.tensor(data,dtype,device,requires_grad)
2.torch.from_numpy(ndarray)
(2)参数说明:
参数名称 | 参数类型 | 参数说明 |
data | list/Numpy数组/tuple/scalar | 表示用于创建张量的数据,生成的Tensor维度和data一致 |
dtype | torch.dtype,optional | 期望返回的张量的数据类型;默认值None表示和给定的内容的类型保持一致 |
device | torch.device,optional | 返回张量的设备,默认值None表示使用当前设备为默认张量类型; 对于CPU类型的张量则device是CPU;若是CUDA 类型的张量则device是当前的CUDA 设备 |
requires_grad | bool,optional | autograd操作是否记录返回张量上的梯度,默认值为False表示不记录 |
ndarray | numpy.ndarray | 用于创建张量的numpy数组,生成的Tensor维度和data一致 |
(3)函数功能:
1.根据给定的输入数据data创建一个指定大小的Tensor张量
2.根据给定的输入numpy数组创建一个指定大小的Tensor张量
相关文章:
Pytorch常用函数用法归纳:创建tensor张量
1.torch.arange() (1)函数原型 torch.arange(start,end,step,*,out,dtype,layout,device,requires_grad) (2)参数说明: 参数名称参数类型参数说明startNumber起始值,默认值为0endNumber结束值,取不到,为开区间stepNumber步长值࿰…...

WPF前端:一个纯Xaml的水平导航栏
效果图: 代码: 1、样式代码,可以写在窗体资源处或者样式资源文件中 <Style x:Key"MenuRadioButtonStyle" TargetType"{x:Type RadioButton}"><Setter Property"FontSize" Value"16" />…...

谷粒商城实战(033 业务-秒杀功能4-高并发问题解决方案sentinel 1)
Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第326p-第p331的内容 关注的问题 sentinel(哨兵) sentinel来实现熔断、降级、限流等操作 腾讯开源的tendis,…...

STM32项目分享:智能家居(机智云)系统
目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.c…...

游戏盾之应用加速,何为应用加速
在数字化时代,用户对于应用程序的防护要求以及速度和性能要求越来越高。为了满足用户的期望并提高业务效率,应用加速成为了不可忽视的关键。 应用加速是新一代的智能分布式云接入系统,采用创新级SD-WAN跨域技术,针对高防机房痛点进…...
Java 基础面试题
文章目录 重载与重写抽象类与接口面向对象a a b 与 a b 的区别final、finalize、finallyString、StringBuild、StringBuffer位运算反射 重载与重写 重载:是在同一个类中,方法名相同,方法参数类型,个数不同,返回类型…...

Nginx 1.26.0 爆 HTTP/3 QUIC 漏洞,建议升级更新到 1.27.0
据悉,Nginx 1.25.0-1.26.0 主线版本中涉及四个与 NGINX HTTP/3 QUIC 模块相关的中级数据面 CVE 漏洞,其中三个为 DoS 攻击类型风险,一个为随机信息泄漏风险,影响皆为允许未经身份认证的用户通过构造请求实施攻击。目前已经紧急发布…...

uniadmin引入iconfont报错
当在uniadmin中引入iconfont后,出现错误: [plugin:vite:css] [postcss] Cannot find module ‘E:/UniAdmin/uniAdmin/static/fonts/iconfont.woff2?t1673083050786’ from ‘E:\UniAdmin\uniAdmin\static\fonts\iconfont.css’ 这是需要更改为绝对路径…...

Vue3【三】 使用TS自己编写APP组件
Vue3【三】 使用TS自己编写APP组件 运行截图 目录结构 注意目录层级 文件源码 APP.vue <template><div class"app"><h1>你好世界!</h1></div> </template><script lang"ts"> export default {name:App //组…...

数字IC后端物理验证PV | TSMC 12nm Calibre Base Layer DRC案例解析
基于TSMC 12nm ARM A55 upf flow后端设计实现训练营将于6月中旬正式开班!小班教学!目前还有3个名额,招满为止!有需要可以私信小编 ic-backend2018报名。吾爱IC社区所有训练营课程均为直播课! 这个课程支持升级成双核A…...

Echarts 在指定部分做文字标记
文章目录 需求分析1. demo1样式调整2. demo22. demo3 定位解决需求 实现在Echarts的折线图中,相同Y值的两点之间显示’abc’ 分析 1. demo1 使用 ECharts 的 markLine 功能来在相邻两个点之间添加标记。其中,我们通过设置标记的 yAxis 和 label 来控制标记的位置和显示内…...
如何发布自己的npm插件包
随着JavaScript在前端和后端的广泛应用,npm(Node Package Manager)已成为JavaScript开发者不可或缺的工具之一。通过npm,开发者可以轻松共享和使用各种功能模块,极大地提高了开发效率。那么,如何将自己开发的功能模块发布为npm插件包,与全球的开发者共享呢?本文将进行全…...

AI和机器人引领新一轮农业革命
AI和机器人技术在农业领域的应用正在迅速发展,未来它们可能会实现厘米级精度的自主耕作。 精确种植:AI算法可以分析土壤条件、气候数据和作物生长周期,以决定最佳种植地点和时间。 土壤管理:利用传感器和机器学习,机器…...

【Kubernetes】三证集齐 Kubernetes实现资源超卖(附镜像包)
目录 插叙前言一、思考和原理二、实现步骤0. 资料包1. TLS证书签发2. 使用 certmanager 生成签发证书3. 获取secret的内容 并替换CA_BUNDLE4.部署svc deploy 三、测试验证1. 观察pod情况2. 给node 打上不需要超售的标签【可以让master节点资源不超卖】3. 资源实现超卖4. 删除还…...

国产Sora免费体验-快手旗下可灵大模型发布
自从OpenAI公布了Sora后,震爆了全世界,但由于其技术的不成熟和应用的局限性,未能大规模推广,只有零零散散的几个公布出来的一些视频。昨日,快手成立13周年,可灵(Kling)大模型发布&am…...

linux嵌入式设备测试wifi信号强度方法
首先我们要清楚设备具体链接在哪个wifi热点上 执行:nmcli dev wifi list rootubuntu:/home/ubuntu# nmcli dev wifi list IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS > * 14:EB:08:51:7D:20 wifi22222_5G Infr…...
【名词解释】Unity的Inputfield组件及其使用示例
Unity的InputField组件是一个UI元素,它允许用户在游戏或应用程序中输入文本。InputField通常用于创建表单、登录界面或任何需要用户输入文本的场景。它提供了多种功能,比如文本验证、占位符显示、输入限制等。 功能特点: 文本输入ÿ…...

Android 安装调试 TelephonyProvider不生效
直接安装TelephonyProvider的时候,(没有重启)发现数据库没有生效。 猜测应该是原本的数据库没有删除后重建更新。 解决方法:杀掉phone进程 adb shell am force-stop com.android.phone 查看device进程 adb shell ps | grep <…...

【C++】STL中List的基本功能的模拟实现
前言:在前面学习了STL中list的使用方法,现在我们就进一步的讲解List的一些基本功能的模拟实现,这一讲博主认为是最近比较难的一个地方,各位一起加油。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 …...

C语言基础——函数
ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:C语言基础; 文章目录 前言 一、函数的概念 二、库函数 2.1 库函数和头文件 2.2 库函数的使用/…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了,系统很多命…...

react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...