slices from feed_dict batch tensorflow tfrecord

from - Obtención del número total de registros del archivo.tfrecords en Tensorflow



tf dataset from tensor (2)

No, no es posible. TFRecord no almacena ningún metadato sobre los datos que se almacenan dentro. Este archivo

representa una secuencia de cadenas (binarias). El formato no es de acceso aleatorio, por lo que es adecuado para transmitir grandes cantidades de datos, pero no es adecuado si se desea fragmentación rápida u otro acceso no secuencial.

Si lo desea, puede almacenar estos metadatos manualmente o usar un record_iterator de record_iterator para obtener el número (tendrá que recorrer todos los registros que tiene:

sum(1 for _ in tf.python_io.tf_record_iterator(file_name))

Si desea conocer la época actual, puede hacerlo desde tensorboard o imprimiendo el número desde el bucle.

¿Es posible obtener el número total de registros de un archivo .tfrecords ? En relación con esto, ¿cómo se hace un seguimiento general de la cantidad de épocas que han transcurrido durante los modelos de entrenamiento? Si bien es posible que especifiquemos batch_size y num_of_epochs , no estoy seguro de que sea sencillo obtener valores como current epoch , el número de lotes por época, etc., solo para poder tener un mayor control sobre el progreso del entrenamiento. . Actualmente, solo estoy usando un truco sucio para calcular esto, ya que sé de antemano cuántos registros hay en mi archivo .tfrecords y el tamaño de mis minibatches. Agradecemos cualquier ayuda ..


Para contar el número de registros, debe poder usar tf.python_io.tf_record_iterator .

c = 0 for fn in tf_records_filenames: for record in tf.python_io.tf_record_iterator(fn): c += 1

Para seguir la pista del entrenamiento del modelo, el tensorboard es muy útil.