Новая форма в TensorFlow
Чтобы задать тензору новую форму,
служит функция reshape.
Она принимает тензор
и список размеров по осям. Число
элементов при этом не меняется:
меняется только раскладка по осям.
Возьмём ряд из шести чисел и зададим форму с двумя строками и тремя столбцами. Выведем таблицу и её форму:
import tensorflow as tf
nums = tf.constant([1, 2, 3, 4, 5, 6])
table = tf.reshape(nums, [2, 3])
print(table)
print(table.shape)
Исходный ряд при этом остаётся одномерным. Сравним число элементов у ряда и у таблицы:
import tensorflow as tf
nums = tf.constant([1, 2, 3, 4, 5, 6])
table = tf.reshape(nums, [2, 3])
print(tf.size(nums))
print(tf.size(table))
Вместо одного из размеров можно указать
-1. Тогда функция reshape
сама досчитает эту ось по общему
числу элементов. Зададим две строки,
а число столбцов оставим неизвестным:
import tensorflow as tf
nums = tf.constant([1, 2, 3, 4, 5, 6])
grid = tf.reshape(nums, [2, -1])
print(grid)
print(grid.shape)
Соберите тензор из чисел 1,
2, 3, 4, 5
и 6. Превратите его в таблицу
из двух строк и трёх столбцов,
выведите таблицу и её форму.
Соберите тензор из восьми нулей. Сделайте таблицу с четырьмя столбцами, не указывая число строк вручную. Выведите таблицу и её форму.
Соберите тензор из шести единиц,
задайте форму (2, 3) и выведите
число элементов исходного ряда
и полученной таблицы.