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

Выбор по маске в TensorFlow

Если из ряда нужны только те числа, где выполняется проверка, помогает функция boolean_mask. Сначала строят логический тензор той же формы, чаще всего через сравнение, затем в результат попадают лишь ячейки с истиной.

Создадим ряд оценок и оставим значения строго больше 3:

import tensorflow as tf scores = tf.constant([1, 4, 3, 5, 2]) mask = scores > 3 high = tf.boolean_mask(scores, mask) print(high) # выведет tf.Tensor([4 5], shape=(2,), dtype=int32)

Сравнение можно применить к каждой ячейке таблицы. Тогда в одномерный ряд попадут все подходящие числа подряд по порядку обхода:

import tensorflow as tf grid = tf.constant([[1, 8, 3], [6, 2, 9]]) big = grid > 5 filtered = tf.boolean_mask(grid, big) print(filtered) # выведет tf.Tensor([8 6 9], shape=(3,), dtype=int32)

Параметр axis задаёт, вдоль какой оси действует логический ряд. Оставим в таблице только второй и третий столбец:

import tensorflow as tf table = tf.constant([[1, 2, 3], [4, 5, 6]]) col_ok = tf.constant([False, True, True]) slim = tf.boolean_mask(table, col_ok, axis=1) print(slim) # выведет tf.Tensor([[2 3] [5 6]], shape=(2, 2), dtype=int32)

Создайте ряд температур [12, 25, 8, 30, 19], оставьте только значения не меньше 20 и выведите получившийся ряд.

Задайте таблицу [[2, 7], [9, 4]], сохраните в ряд все ячейки, где число больше 5, и выведите его.

Соберите таблицу из строк [10, 20, 30] и [40, 50, 60], уберите из неё первый столбец и выведите оставшуюся таблицу.

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