Вытягивание таблицы в TensorFlow
Слой Flatten превращает таблицу
в один длинный ряд для каждой
строки партии: все ячейки идут
подряд, порядок сохраняется. Это
отдельный слой Keras, а не смена
формы через reshape.
Таблицу подают с ведущей осью партии:
первая ось - сколько таблиц в пачке,
остальные - строки и столбцы.
Создадим одну таблицу 2×3,
пропустим её через Flatten
и выведем ряд:
import tensorflow as tf
table = tf.constant([[[1, 2, 3], [4, 5, 6]]])
layer = tf.keras.layers.Flatten()
row = layer(table)
print(row)
Форма ответа - две оси: партия и длинный ряд. Сравним форму до и после:
import tensorflow as tf
table = tf.constant([[[1, 2, 3], [4, 5, 6]]])
layer = tf.keras.layers.Flatten()
row = layer(table)
print(table.shape)
print(row.shape)
Если в партии несколько таблиц, каждая вытягивается в свой ряд:
import tensorflow as tf
batch = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
layer = tf.keras.layers.Flatten()
print(layer(batch))
print(layer(batch).shape)
Соберите одну таблицу [[10, 20],
[30, 40]] с осью партии.
Получите из неё одномерный ряд
в строке партии и выведите его.
Задайте таблицу 2×2 из нулей
с одной строкой партии. Вытяните
её в ряд и выведите форму ответа.
Создайте две таблицы 1×3:
[[1, 2, 3]] и [[4, 5, 6]]
в одной партии. Получите два ряда
по три числа и выведите форму
результата.