张量的操作

本文详细介绍了PyTorch中张量的拼接与切分、索引、变换和数学运算,包括torch.cat()、torch.stack()、torch.chunk()、torch.split()、torch.index_select()、torch.masked_select()、torch.reshape()、torch.transpose()、torch.t()、torch.squeeze()、torch.unsqueeze()以及torch.add()等核心操作,并给出了相应的输出示例。
摘要由CSDN通过智能技术生成

一、拼接与切分

1.1 torch.cat()

功能:将张量按维度dim进行拼接
tensors:张量序列
dim:要拼接的维度
函数:torch.cat(tensors,dim=0,out=None)
t = torch.ones([2,3])
t_0 = torch.cat([t,t],dim=0)
t_1 = torch.cat([t,t],dim=1)

print("t_0:{} shape:{}\nt_1:{} shape:{}".format(t_0,t_0.shape,t_1,t_1.shape))

输出:shape:torch.Size([4, 3])
shape:torch.Size([2, 6])

1.2 torch.stack()

功能:在新创建的维度dim上进行拼接
tensors:张量序列
dim:要拼接的维度
函数:torch.stack(tensors,dim=0,out=None)
t_stack = torch.stack([t,t,t,t,t],dim=1)
print("\nt_stack:{} shape:{}".format(t_stack,t_stack.shape))

输出:torch.Size([2, 5, 3])

1.3 torch.chunk()

功能:将张量按维度dim进行平均切分
返回值:张量列表
注意事项:若不能整除,最后一份张量小于其他张量
input:要切分的张量
chunks:要切分额份数
函数:torch.chunk(input,chunks,dim=0)
【注】chunk向上取整
a = torch.ones((2,5))
list_of_tensor = torch.chunk(a,dim=1,chunks
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值