Преобразование примеров в TensorFlow
Метод map применяет одну
и ту же операцию к каждому
элементу набора и возвращает
новый поток с изменёнными
значениями. В качестве правила
передают функцию: она получает
один пример и отдаёт результат
преобразования.
Умножим каждое число в наборе на десять и выведем результат:
import tensorflow as tf
data = tf.constant([1, 2, 3])
ds = tf.data.Dataset.from_tensor_slices(data)
ds = ds.map(lambda x: x * 10)
for item in ds:
print(item.numpy())
# выведет 10, 20 и 30 по строкам
Если набор состоит из пар, функция может принимать несколько аргументов и возвращать одно число:
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5, 6])
ds = tf.data.Dataset.from_tensor_slices((x, y))
ds = ds.map(lambda a, b: a + b)
for item in ds:
print(item.numpy())
# выведет 5, 7 и 9 по строкам
Из ряда [2, 3, 4] сделайте
набор, увеличьте каждый
элемент на единицу и выведите
все значения.
Создайте набор из [10, 20, 30]
и выведите квадрат каждого
числа.
Объедините ряды [1, 2, 3]
и [10, 20, 30] в набор
пар, сложите числа в каждой
паре и выведите три результата.