类型推断

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)相关推荐

  1. 判定两个tensor维度相同_Pytorch之Tensor大详解

    导语 深度学习框架Pytorch发展势头惊人,这点小编也深有体会,翻翻Github上深度学习的开源代码,发现用Pytorch真的多了不少,所以小编最近也正在入坑Pytorch,顺便写写文章做些总结.认 ...

  2. tensor数据类型转换_PyTorch的tensor数据类型及其相关转换

    1 基本类型 PyTorch的数据类型为各式各样的tensor,tensor可以理解为高维矩阵,与Numpy中的array类似. PyTorch中的tensor包括CPU上的数据类型和GPU上的数据类 ...

  3. python中不同类型的数据不能相互运算_PyTorch中Tensor的数据类型和运算的使用

    在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量.Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarra ...

  4. pytorch 给tensor增加一维(unsqueeze)或删除一维(squeeze)

    给tensor增加一维 b = a.unsqueeze(0) import torcha = torch.randn(3, 200, 200) b = a.unsqueeze(0) print(a.s ...

  5. tensor转换为图片_pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换

    1, 创建pytorch 的Tensor张量: torch.rand((3,224,224)) #创建随机值的三维张量,大小为(3,224,224) torch.Tensor([3,2]) #创建张量 ...

  6. Tensor to img imge to tensor (pytorch的tensor转换)

    Tensor to img && imge to tensor 在pytorch中经常会遇到图像格式的转化,例如将PIL库读取出来的图片转化为Tensor,亦或者将Tensor转化为n ...

  7. python中fn的用法_Pytorch技巧:DataLoader的collate_fn参数使用详解

    DataLoader完整的参数表如下: class torch.utils.data.DataLoader( dataset, batch_size=1, shuffle=False, sampler ...

  8. python构造自定义数据包_pytorch中的自定义数据处理详解

    pytorch在数据中采用Dataset的数据保存方式,需要继承data.Dataset类,如果需要自己处理数据的话,需要实现两个基本方法. :.getitem:返回一条数据或者一个样本,obj[in ...

  9. 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 ...

最新文章

  1. 中柏平板u盘启动_大数据时代,如何挑选大容量U盘?
  2. qt designer 自定义插件找不到指定的模块_SpringBoot之spring-boot-load模块
  3. How to remove live visual tree?
  4. 第三届类型文学研讨会小记(转)
  5. php dom 换行,PHP DOM XML不会在标记之后打印掉换行符
  6. 关联规则应用场景实例十则
  7. Linux之mariadb数据库
  8. 用C语言来实现冒泡排序
  9. Java面试宝典 Beta5.0版 (2018年最新公测版)
  10. 搭载rtmp直播服务器
  11. HTTP协议中URI和URL的区别
  12. 反爬虫破解——裁判文书网
  13. 2021年信息安全工程师真题与答案
  14. oracle 获取日期的毫秒_Oracle date timestamp 毫秒 - 时间函数总结(转)
  15. 树莓派3B安装openwrt19.07.04
  16. Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization文章理解
  17. .NET CoreRT AOT原生程序编译使用的一些小建议
  18. jq过渡收缩动画用js实现
  19. 如何安装biopython_python下如何安装biopython
  20. iOS设备屏幕分辨率分布

热门文章

  1. 上线到凌晨4点半 pagehelper的bug?
  2. java统计报表日期工具类
  3. JS两个字符串日期相减得出天数
  4. Android 底部上拉抽屉view
  5. android 微信支付,body为中文字符,签名错误
  6. 测试常用工具下载地址,LR11、QC11
  7. python 零代码快速开发平台_现在低代码开发平台和零代码平台区别是什么?
  8. 自定义安装mysql linux_linux下 安装mysql 问题
  9. mysql复制安全性_从MySQL复制功能中得到一举三得实惠
  10. 反转链表--清晰易懂的两种方法