Новая форма тензора в PyTorch
Чтобы изменить форму без потери данных,
используют метод reshape. Число
элементов остаётся прежним: произведение
размеров по осям до и после совпадает.
Таблицу из шести ячеек можно оформить
как три ряда по два числа. Создадим
исходную таблицу и применим
reshape:
import torch
grid = torch.tensor([[1, 2, 3], [4, 5, 6]])
ordered = grid.reshape(3, 2)
print(ordered)
Если нужен один ряд, в новой форме указывают одно число - длину ряда:
import torch
grid = torch.tensor([[1, 2, 3], [4, 5, 6]])
row = grid.reshape(6)
print(row)
Вместо одного из размеров можно
написать -1. Библиотека сама
досчитает эту ось по общему числу
элементов:
import torch
grid = torch.tensor([[1, 2, 3], [4, 5, 6]])
back = grid.reshape(2, -1)
print(back)
Соберите таблицу из рядов
[1, 2] и [3, 4]
и выведите её как один ряд
из четырёх чисел.
Соберите ряд из чисел
2, 4, 6
и 8 и выведите его
как таблицу из двух рядов
по два числа.
Соберите таблицу из трёх рядов по два числа с любыми целыми значениями и выведите её как таблицу из двух рядов по три числа, используя автоматический размер по одной из осей.