Pytorch中的input.unsqueeze(0)的作用

input.unsqueeze(0) 是 PyTorch 张量(Tensor)的方法之一,用于增加张量的维度。具体来说,它会在索引为 0 的位置上插入一个维度。

假设 input 是一个形状为 (n,) 的一维张量,其中 n 是任意长度。调用 unsqueeze(0) 后,它会返回一个形状为 (1, n) 的二维张量,新插入的维度的大小为 1。

以下是一个示例:

import torch

input = torch.tensor([1, 2, 3, 4])

# 调用 unsqueeze(0) 增加维度
output = input.unsqueeze(0)

print(input.shape)  # 输出: torch.Size([4])
print(output.shape)  # 输出: torch.Size([1, 4])

在上述示例中,input 是一个长度为 4 的一维张量。通过 unsqueeze(0) 将其转换为一个形状为 (1, 4) 的二维张量 output。新插入的维度位于索引 0 的位置。

unsqueeze(0) 的应用场景通常是在需要对张量进行运算或与其他张量进行操作时,需要调整张量的维度匹配。例如,将一维张量作为输入传递给大小为 (batch_size, ...) 的神经网络,就通常需要在维度上插入一个批次大小的维度。

需要注意的是,unsqueeze(0) 并不会在原地修改输入张量,而是返回一个新的张量。因此,我们在示例中将结果赋值给 output,以便进行打印输出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RBJFV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值