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

本文详细介绍了如何在PyTorch中操作张量,包括类型推断、标量和向量的创建,以及从numpy转换、数据初始化、随机数生成、索引与切片等核心内容。涵盖了创建Tensor的方法、常用数据构造函数和基础数据操作技巧。
摘要由CSDN通过智能技术生成

一.基本数据类型

"tensor"这个单词一般可译作“张量”,张量可以看作是一个多维数组。标量可以看作是0维张量,向量可以看作1维张量,矩阵可以看作是二维张量。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.类型推断
在这里插入图片描述
2.标量
dim:维度
size/shape:形状
tensor:具体数
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述a.shape是一个成员;a.size()是一个成员函数。
3.向量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二.创建Tensor

1.将numpy数据转换成Tensor

torch.from_numpy(a)

在这里插入图片描述
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类型
在这里插入图片描述

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])
在这里插入图片描述
在这里插入图片描述

6、正态分布:randn
1、均值为0,方差为1:N(0,1)
2、自定义方差:torch.normal(mean=mean,std=std)
(mean——均值,std——方差)
在这里插入图片描述
7、全部赋值为相同的元素:

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

在这里插入图片描述
8、torch.arange(start,end,step)
在这里插入图片描述
9、等分
1、torch.linspace(min,max,num):从min,到max等分num个数字,包含max
2、torch.logspace(min,max,num)

logspace的base参数可以设置为2,10,e等底数
在这里插入图片描述10、单位矩阵 torch.eye(num)
在这里插入图片描述
在这里插入图片描述
11、randperm
生成随机索引,常用于样本和标签协同shuffle
在这里插入图片描述

在这里插入图片描述
三、索引与切片
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数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值