Как выполнить многомерную причудливую индексацию в PyTorch?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как выполнить многомерную причудливую индексацию в PyTorch?

Сообщение Anonymous »

У меня есть 3D-тензор (

Код: Выделить всё

[batch_size, seq_length, hidden_dim]
) и 2D-список (

Код: Выделить всё

[batch_size, seq_length]
).
Я хочу использовать список для выбора этого тензора.
Например: форма 3D-тензора t [2, 5, 3] и форму двумерного списка l [2, 5].
Пусть t0 = t[0, :, :] и l0 = l[0]. Я хотел бы выбрать "".
То же самое для t1[l1] и т. д.
Я могу только думать о написании цикл for для достижения этой цели:

Код: Выделить всё

new_ts = []
for i in range(t.shape[0]):
new_t = t[i][l[i]]
new_ts.append(new_t)
new_t = torch.cat(new_ts, dim=2)
Должен быть более простой способ сделать это. Я также пробовал многомерное причудливое индексирование t[l], но синтаксис неверен и не работает.
Ищу жду ваших предложений.

Подробнее здесь: https://stackoverflow.com/questions/651 ... in-pytorch
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»