Конкатенация на месте Pytorch и преобразование в тензор из NumPy - PullRequest
0 голосов
/ 11 июня 2018

Предположим, у меня есть список тензоров одинакового размера, который можно объединить по измерению, скажем, 0. Есть ли какие-либо команды torch.cat или torch.stack или какие-либо пустые команды, выполняющие объединение на месте?Кроме того, если я хочу преобразовать numy ndarray в тензор.Если я сделаю следующее, существуют ли две копии в памяти в любой момент времени?Я имею дело с массивным набором данных, настолько большим, что в любой момент времени в памяти может существовать только одна его копия.

# initially data is a huge ndarray
data = torch.Tensor(data)

1 Ответ

0 голосов
/ 11 июня 2018

Из вашего комментария, предполагая, что:

  1. вы хотите сделать что-то в духе: B = A + a + b + ... + z, где + представляет конкатенацию вдоль совместимой оси, B и Aогромны, а a, b и т. д. сравнительно невелики, и
  2. можно предсказать разумную верхнюю границу для размера B

Я быЗаранее выделите огромный массив для B, используя np.empty, и я заполнил бы этот массив непосредственно вашими данными по мере необходимости.

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