Метод flush
Метод flush класса TFRecordWriter сбрасывает
все буферизованные данные в файл. Метод не принимает
параметров и не возвращает значений. Он полезен, когда
нужно гарантировать запись данных на диск до закрытия
файла или до продолжения работы с ним.
Синтаксис
writer.flush()
Пример
Давайте создадим объект TFRecordWriter, запишем
несколько записей и вызовем метод flush для
сброса данных в файл:
import tensorflow as tf
with tf.io.TFRecordWriter('data.tfrecord') as writer:
writer.write(tf.constant('abcde').numpy())
writer.write(tf.constant('model.keras').numpy())
writer.flush()
print('Data flushed successfully')
Результат выполнения кода:
"Data flushed successfully"
Пример
Давайте запишем записи, вызовем метод flush и
прочитаем данные из файла до закрытия writer:
import tensorflow as tf
writer = tf.io.TFRecordWriter('data.tfrecord')
writer.write(tf.constant('abcde').numpy())
writer.flush()
dataset = tf.data.TFRecordDataset('data.tfrecord')
for record in dataset:
print(record)
writer.close()
Результат выполнения кода:
tf.Tensor(b'abcde', shape=(), dtype=string)
Пример
Давайте запишем несколько записей, периодически вызывая
метод flush для гарантии сохранности данных:
import tensorflow as tf
with tf.io.TFRecordWriter('data.tfrecord') as writer:
for i in range(5):
writer.write(tf.constant(str(i)).numpy())
writer.flush()
print(f'Record {i} flushed')
Результат выполнения кода:
"Record 0 flushed"
"Record 1 flushed"
"Record 2 flushed"
"Record 3 flushed"
"Record 4 flushed"
Смотрите также
-
класс
TFRecordWriter,
который записывает данные в формат TFRecord -
метод
write,
который записывает запись в файл TFRecord -
метод
close,
который закрывает файл TFRecord -
метод
flush,
который сбрасывает буферизованные данные в файл