на месте шаффл факел.Тензор в порядке numpy.ndarray - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу изменить порядок элементов torch.Tensor со значения по умолчанию на numpy.ndarray.Другими словами, я хочу перетасовать его так, чтобы порядок его элементов определялся с помощью массива numpy;важная вещь в этой проблеме заключается в том, что я не хочу, чтобы какой-либо третий объект создавался (из-за ограничений памяти). Есть ли что-то вроде приведенного ниже кода в python 2.7?

torch_tensor.shuffle(order)

1 Ответ

0 голосов
/ 07 декабря 2018

Редактировать: Это должна быть версия на месте:

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])

Я надеюсь, что этопримерно то, что вы искали!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...