gpt4 book ai didi

python - 在 Pytorch 中重复张量的特定列

转载 作者:行者123 更新时间:2023-12-03 06:18:42 26 4
gpt4 key购买 nike

我有一个大小为 m x n 的 pytorch 张量 X 和一个长度为 n 的非负整数列表 num_repeats (假设总和(num_repeats)> 0)。在forward()方法中,我想创建一个大小为m x sum(num_repeats)的张量X_dup,其中X的列i 重复 num_repeats[i] 次。张量X_dup将在forward()方法的下游使用,因此梯度需要正确反向传播。我能想到的所有解决方案都需要就地操作(创建一个新的张量并通过迭代num_repeats来填充它),但如果我理解正确的话,这不会保留梯度(如果我',请纠正我)我错了,我对整个 Pytorch 都是新手)。

最佳答案

如果您使用 PyTorch >= 1.1.0,您可以使用 torch.repeat_interleave .

repeat_tensor = torch.tensor(num_repeats).to(X.device, torch.int64)
X_dup = torch.repeat_interleave(X, repeat_tensor, dim=1)

关于python - 在 Pytorch 中重复张量的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59226963/

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