Срез в TensorFlow
Срез задаётся двумя границами в квадратных скобках через двоеточие. Левая граница входит в результат, правая не входит. Так из длинного ряда получают более короткий фрагмент.
Создадим тензор из четырёх чисел и
возьмём элементы с индексами 0
и 1:
import tensorflow as tf
temps = tf.constant([10, 20, 30, 40])
part = temps[0:2]
print(part)
Если нужны элементы с индекса 1
до индекса 3, правая граница
снова не входит в результат:
import tensorflow as tf
temps = tf.constant([10, 20, 30, 40])
middle = temps[1:3]
print(middle)
Левую границу можно опустить, тогда фрагмент начинается с первого элемента. Правую границу можно опустить, тогда фрагмент идёт до конца ряда. Создадим новый тензор и выведем оба варианта:
import tensorflow as tf
scores = tf.constant([4, 5, 3, 2, 1])
print(scores[:3])
print(scores[1:])
Соберите тензор из чисел 10,
20, 30 и 40 и
выведите его первые три ячейки
как отдельный тензор.
Создайте тензор из шести целых чисел и выведите фрагмент со второго элемента до конца ряда.
Создайте тензор из пяти чисел и выведите все ячейки, начиная с четвёртой по счёту с начала.