pytorch tensor简单使用、数据类型、维度操作

tensor简单使用

import torch
print(torch.__version__)

torch.empty(3,4)创建3行4列的空的tensor,会用无用数据进行填充(手工填充torch.fill_)

empty = torch.empty([3,4])
torch.fill_(empty,3)

torch.arange(start, end, step) 从start到end以step为步长取值生成序列

torch.arange(1,6,2)

torch.range(start=1, end=6)的结果是会包含end的,
而torch.arange(start=1, end=6)的结果并不包含end。
两者创建的tensor的类型也不一样
arange为torch.int64
range为torch.float32

torch.rand(3,4) 创建3行4列的随机值的tensor,随机值的区间是[0, 1)
torch.randint(low=0,high=10,size=[3,4]) 创建3行4列的随机整数的tensor,随机值的区间是[low, high),不包括最后的high
torch.randn(3,4) 创建3行4列的随机数的tensor,随机值的分布式均值为0,方差为1

tensor属性

当tensor中只有一个元素时,tensor.item() 可以获取这个元素
但是当元素不是tensor类型时,不能使用这个方法

获取形状
tensor.size()
tensor.shape

获取数据类型
tensor.dtype

获取数据的维度
a.dim()

tensor的维度操作

tensor.view(2,3) tensor.reshape(2,3)

x = torch.tensor([[1,2],[3,4],[5,6]])
x.shape
x.reshape(2,3)
x.view(2,3)

tensor.t() 或tensor.transpose(dim0, dim1) 转置

x.t() #也可用x.T 无法指定维度
x.transpose(0,1) #指定需要转置的维度

tensor.permute 变更tensor的轴(多轴转置)
需求:把[4,2,3]转置成[3,4,2],如果使用transpose 需要转两次: [4,2,3] ->[4,3,2]->[3,4,2]
使用transpose

torch.transpose(1,2)
torch.transpose(0,1)

使用permute

torch.permute(2,0,1)

tensor.unsqueeze(dim)
tensor.squeeze()填充或者压缩维度
tensor.squeeze() 默认去掉所有长度是1的维度
也可以填入维度的下标,指定去掉某个维度

tensor.unsqueeze() 扩充维度
在这里插入图片描述

tensor数据类型

创建数据的时候指定类型

a = torch.ones(2,3,dtype = torch.int32)
print(a.dtype)
a = a.type(torch.float) #a.float()
print(a.dtype)
a = a.double()
print(a.dtype)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值