python选取tensor某一维_Pytorch的Tensor操作(1)
类型推断
torch.randn():随机初始化
a.type():返回类型
type():返回基本类型
isinstance() :检查类型
cuda会影响数据类型
标量
维度(dimention)为0的标量
标量的shape:
返回类型为【】(空的list),返回长度也为0
a.dimension()也为0
Dim1
torch.tensor() : 输入具体数据
torch.FloatTensor() :输入类型大小
Dim1的shape
Dim2
Dim3
Dim4(一般用于图像)
创建Tensor
import from numpy
从numpy转化为tensor类型, 数据类型(float)不变,变量类型(np→numpy)变了
生成未初始化tensor
设置默认类型
随机初始化
torch.rand() :随机采样【0,1】之间的数
torch.rand_like(a): 采样出与a相同类型的tensor
torch.randint(min,max,[type]):不包含最大值
正态分布随机初始化
torch.normal(mean,std): 自定义的正态分布,需要给出相同数量的均值和方差
重复填充
torch.full():类型为[]时,表示生成的为标量
范围
torch.arange():生成不包含最大值的等差数列
torch,linspace(min,max,steps= ):包含最大值,steps是切分后的数量
全1/零/单位矩阵
torch.eye():中如果不是方阵,多余部分为0
随机打散
torch.randperm(): 生成不包含最大值的索引
下面对第一维进行shuffle,randperm中的参数必须与类型的第一维相同。a和b的idx相同,防止匹配错误
下图表示,randperm中定义需要两个索引时,分别返回a b的对应索引值
切片和索引
索引
取不到“ :”后的元素
-1表示最后一个元素
分段采样
出现两个“:”表示的是:start :end :step(默认为1,为1可省略)
指定维度采样
“ ...”:表示同时取多个维度,只能全选或已知前后具体采样维度,剩下的全选,某一维度取“1”时,会自动降维
根据MASK选择
先根据条件,得到一定的掩码,根据满足条件的掩码值重新在原始数据中进行选择
铺展(Flatten)索引值
纬度变化
View Reshape
增维(Unsqueeze)
下面的a为标量,在第0维与第1维添加维度后,分别会变为[1,2] [2,1]
下面是bias向权重类型变化过程
降维(squeeze)
如果没有具体参数,将去除所有为“1”的维度
带有参数,将对对应维度进行去除
扩展(expand)
总维度必须相同,且只能从1维度扩展到指定维度或直接相同
“-1”保持原来维度不变
重复(repeat)
与expand参数不同,每个维度的值表示对对应维度进行的重复次数。
矩阵转置(transpose)
下面两行函数说明,即使前后的总体数据类型的大小相同,但是相同维度所表示的意义也进行了交换,因此不再表示同一Tensor
permute
可以自动调用transpose,并保证维度顺序的顺利交换
本文地址:https://blog.csdn.net/qq_42518956/article/details/107621610
希望与广大网友互动??
点此进行留言吧!
python选取tensor某一维_Pytorch的Tensor操作(1)相关推荐
- 判定两个tensor维度相同_Pytorch之Tensor大详解
导语 深度学习框架Pytorch发展势头惊人,这点小编也深有体会,翻翻Github上深度学习的开源代码,发现用Pytorch真的多了不少,所以小编最近也正在入坑Pytorch,顺便写写文章做些总结.认 ...
- tensor数据类型转换_PyTorch的tensor数据类型及其相关转换
1 基本类型 PyTorch的数据类型为各式各样的tensor,tensor可以理解为高维矩阵,与Numpy中的array类似. PyTorch中的tensor包括CPU上的数据类型和GPU上的数据类 ...
- python中不同类型的数据不能相互运算_PyTorch中Tensor的数据类型和运算的使用
在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量.Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarra ...
- pytorch 给tensor增加一维(unsqueeze)或删除一维(squeeze)
给tensor增加一维 b = a.unsqueeze(0) import torcha = torch.randn(3, 200, 200) b = a.unsqueeze(0) print(a.s ...
- tensor转换为图片_pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
1, 创建pytorch 的Tensor张量: torch.rand((3,224,224)) #创建随机值的三维张量,大小为(3,224,224) torch.Tensor([3,2]) #创建张量 ...
- Tensor to img imge to tensor (pytorch的tensor转换)
Tensor to img && imge to tensor 在pytorch中经常会遇到图像格式的转化,例如将PIL库读取出来的图片转化为Tensor,亦或者将Tensor转化为n ...
- python中fn的用法_Pytorch技巧:DataLoader的collate_fn参数使用详解
DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=False, sampler ...
- python构造自定义数据包_pytorch中的自定义数据处理详解
pytorch在数据中采用Dataset的数据保存方式,需要继承data.Dataset类,如果需要自己处理数据的话,需要实现两个基本方法. :.getitem:返回一条数据或者一个样本,obj[in ...
- TypeError: can‘t convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory
项目场景: 运行程序,出现报错信息 TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor ...
最新文章
- 中柏平板u盘启动_大数据时代,如何挑选大容量U盘?
- qt designer 自定义插件找不到指定的模块_SpringBoot之spring-boot-load模块
- How to remove live visual tree?
- 第三届类型文学研讨会小记(转)
- php dom 换行,PHP DOM XML不会在标记之后打印掉换行符
- 关联规则应用场景实例十则
- Linux之mariadb数据库
- 用C语言来实现冒泡排序
- Java面试宝典 Beta5.0版 (2018年最新公测版)
- 搭载rtmp直播服务器
- HTTP协议中URI和URL的区别
- 反爬虫破解——裁判文书网
- 2021年信息安全工程师真题与答案
- oracle 获取日期的毫秒_Oracle date timestamp 毫秒 - 时间函数总结(转)
- 树莓派3B安装openwrt19.07.04
- Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization文章理解
- .NET CoreRT AOT原生程序编译使用的一些小建议
- jq过渡收缩动画用js实现
- 如何安装biopython_python下如何安装biopython
- iOS设备屏幕分辨率分布