Pytorch 01天——基本数据类型、创建Tensor、索引与切片

一.基本数据类型

"tensor"这个单词一般可译作“张量”,张量可以看作是一个多维数组。标量可以看作是0维张量,向量可以看作1维张量,矩阵可以看作是二维张量。
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第1张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第2张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第3张图片
1.类型推断
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第4张图片
2.标量
dim:维度
size/shape:形状
tensor:具体数
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第5张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第6张图片

Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第7张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第8张图片a.shape是一个成员;a.size()是一个成员函数。
3.向量
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第9张图片
在这里插入图片描述
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第10张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第11张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第12张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第13张图片
在这里插入图片描述

二.创建Tensor

1.将numpy数据转换成Tensor

torch.from_numpy(a)

Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第14张图片
2.从python list中导入数据

torch.tensor([2.,3.2])

torch.tensor():接收现有的数据(标量或者是一个list)
torch.Tensor 或者torch.FloatTensor():接收数据的维度,(也可以使用现有的数据,但是容易和数据维度混淆,不推荐使用)

3.uninitialized

不使用初始化创建tensor,但是会出现torch.nan,torch.inf类数值,造成问题。
1.Torch.empty(),里面的数值是随机的
2.Torch.IntTensor(d1,d2,d3),数值也是随机的

4.设置默认类型:

torch.set_default_tensor_type(torch.DoubleTensor)

torch.tensor([1.2,3]).type()查看tensor类型
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第15张图片

5.随机初始化,rand/rand_like,randint
1、a = torch.rand(3,3)
rand会随机产生0~1之间的数值,不包括1。
2、torch.rand_like(a):产生一个和a张量相同维度的维度
3、torch.randint(min,max,[d1,d2])
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第16张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第17张图片

6、正态分布:randn
1、均值为0,方差为1:N(0,1)
2、自定义方差:torch.normal(mean=mean,std=std)
(mean——均值,std——方差)
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第18张图片
7、全部赋值为相同的元素:

torch.full([d1,d2,…],num)

Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第19张图片
8、torch.arange(start,end,step)
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第20张图片
9、等分
1、torch.linspace(min,max,num):从min,到max等分num个数字,包含max
2、torch.logspace(min,max,num)

logspace的base参数可以设置为2,10,e等底数
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第21张图片10、单位矩阵 torch.eye(num)
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第22张图片
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第23张图片
11、randperm
生成随机索引,常用于样本和标签协同shuffle
Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第24张图片

Pytorch 01天——基本数据类型、创建Tensor、索引与切片_第25张图片
三、索引与切片
Pytorch Tensor的索引与切片

1、index_select( )第一个参数表示维度

2、.ge()方法作用是选取大于大于0.5的元素,将其位置置1(True),其余置0(False)

mask = c.ge(0.5)

3、使用mask索引,输出满足条件的位置的值
4、take()函数:先将tensor转换为一个list,之后根据索引选取list对应位置的值(take索引是在原来Tensor的shape基础上打平,然后在打平后的Tensor上进行索引。)

借鉴:pytorch学习笔记4–pytorch数据类型

你可能感兴趣的:(pytorch)