Заранее подгрузить в TensorFlow
Чтобы подготовка следующих
примеров шла параллельно
с их использованием, применяют
метод prefetch. Он
возвращает новый набор; при
обходе элементы по-прежнему
идут в том же порядке и с
теми же значениями.
Создадим набор из трёх чисел, вызовем метод prefetch с запасом в два элемента и выведем содержимое:
import tensorflow as tf
values = tf.data.Dataset.from_tensor_slices(
[10, 20, 30]
)
ready = values.prefetch(2)
for item in ready:
print(item.numpy())
# выведет 10, 20 и 30 по строкам
Сравним порядок элементов до и после подготовки:
import tensorflow as tf
base = tf.data.Dataset.from_tensor_slices(
[10, 20, 30]
)
ready = base.prefetch(2)
plain = [int(x) for x in base]
prepared = [int(x) for x in ready]
print(plain)
print(prepared)
# выведет [10, 20, 30] и снова [10, 20, 30]
Соберите набор из [1, 2, 3, 4],
подготовьте его с запасом
в три элемента и выведите
все числа по порядку.
Из ряда [5, 15, 25]
сделайте набор, примените
подготовку с запасом в один
элемент и выведите список
значений как целые числа.
Создайте набор из [7, 8, 9],
сохраните порядок элементов
в список до подготовки и
ещё один список после неё.
Выведите оба списка.