gpt4 book ai didi

python - 按照 numpy.ndarray 的顺序就地打乱 torch.Tensor

转载 作者:行者123 更新时间:2023-12-01 08:36:52 25 4
gpt4 key购买 nike

我想将 torch.Tensor 的元素顺序从默认更改为 numpy.ndarray。换句话说,我想对其进行洗牌,以便用 numpy 数组指定其元素的顺序;关于这个问题的重要一点是我不想创建任何第三个对象(因为内存限制)python 2.7中有类似下面的代码吗?

torch_tensor.shuffle(order)

最佳答案

编辑:这应该是就地版本:

import torch
import numpy as np

t = torch.rand(10)
print('Original Tensor:', t)

order = np.array(range(10))
np.random.shuffle(order)
print('Order:', order)

# in-place changing of values
t[np.array(range(10))] = t[order]
print('New Tensor:', t)

输出:

Original Tensor: tensor([ 0.3380,  0.3450,  0.2253,  0.0279,  0.3945,  0.6055,  0.1489,
0.7676, 0.4213, 0.2683])
Order: [7 1 3 6 2 9 0 5 4 8]
New Tensor: tensor([ 0.7676, 0.3450, 0.0279, 0.1489, 0.2253, 0.2683, 0.3380,
0.6055, 0.3945, 0.4213])

我希望这正是您正在寻找的内容!

关于python - 按照 numpy.ndarray 的顺序就地打乱 torch.Tensor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673575/

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