РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pytfPmFmSq 30 of 91 menu
◀ ▶

Удаление единичных осей в TensorFlow

Лишние оси длины один убирает функция squeeze. Она удаляет из формы все оси, где только одна ячейка. Числа в тензоре при этом не меняются.

Создадим таблицу из одной строки и трёх столбцов. Её форма содержит единицу в первой оси. Выведем форму до и после удаления таких осей:

import tensorflow as tf block = tf.constant([[1, 2, 3]]) print(block.shape) flat = tf.squeeze(block) print(flat) print(flat.shape)

Лишняя ось может стоять и в другом месте. Уберём её у столбца из одного столбца:

import tensorflow as tf col = tf.constant([[10], [20], [30]]) print(col.shape) row = tf.squeeze(col) print(row) print(row.shape)

Если единичных осей несколько, убираются все сразу:

import tensorflow as tf box = tf.constant([[[1, 2, 3]]]) print(box.shape) plain = tf.squeeze(box) print(plain.shape)

Соберите тензор [[4, 5, 6, 7]]. Уберите оси длины 1 и выведите форму результата.

Соберите тензор [[1], [2], [3]]. Уберите лишние оси и выведите полученный одномерный ряд.

Соберите тензор формы (2, 1, 3) из нулей. Выведите форму до и после удаления осей длины 1.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить