pytorch中用None给Tensor增加维度

在PyTorch的Tensor操作中,通过插入None,可以在特定位置增添新的维度,方便进行深度学习模型的数据处理。这种方法使得Tensor形状更加灵活,能够适应不同层次的输入需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tensor中利用None来增加维度,可以简单的理解为在None的位置上增加一维:

x = torch.randint(1,4,(3,4))
print("x:",x)
print("size of x:",x.size())
y = x[:,None] #在第二维上增加一维,即将x中[3, 3, 1, 1],[2, 1, 1, 3],[1, 1, 1, 3]外面加一层[]
print("y:",y)
print("size of y:",y.size())
z = x[None,:,:] #等同于x[None,:],x[None],即在x中第一维上增加一维,在x外面加一层[]
print("z:",z)
print("size of z:",z.size())
zz = x[None,None] #在x中第一维上增加2维,在x外面加一层[]之后在加一层
r = x[:,:,None] #在第三维上增加一维,即将[3, 3, 1, 1],[2, 1, 1, 3],[1, 1, 1, 3]中每一个元素加一层[]
print("r:",r)
print("size of r:",r.size())
u = x[:,:,None,None] #在[3, 3, 1, 1],[2, 1, 1, 3],[1, 1, 1, 3]中每一个元素加一层[]外面再加一层[]
print("u:",u)
print("size of u:",u.size())

##############################

o = torch.randint(1,4,(3,4,5))
print("o:",o)
i = o[:,None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值