gpt4 book ai didi

python - 如何沿某个维度将元素添加到 PyTorch 张量?

转载 作者:行者123 更新时间:2023-12-03 23:07:50 29 4
gpt4 key购买 nike

我有一个张量 inps ,其大小为 [64, 161, 1]我有一些新数据d大小为 [64, 161] .如何添加 dinps这样新的大小是[64, 161, 2] ?

最佳答案

使用 .unsqueeze() 有一种更清洁的方法和 torch.cat() ,它直接使用 PyTorch 接口(interface):

import torch

# create two sample vectors
inps = torch.randn([64, 161, 1])
d = torch.randn([64, 161])

# bring d into the same format, and then concatenate tensors
new_inps = torch.cat((inps, d.unsqueeze(2)), dim=-1)
print(new_inps.shape) # [64, 161, 2]

本质上,解压缩第二维已经使两个张量具有相同的形状;你只需要小心沿着正确的维度展开。
同样, concatenation不幸的是,它的命名与其他类似命名的 NumPy 函数不同,但行为相同。请注意,不要让 torch.cat通过提供 dim=-1 来计算尺寸,您还可以显式提供要连接的维度,在这种情况下,将其替换为 dim=2 .

请记住 difference between concatenation and stacking ,这对于张量维度的类似问题很有帮助。

关于python - 如何沿某个维度将元素添加到 PyTorch 张量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61101919/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com