web-dev-qa-db-fra.com

Comment inspecter un fichier Tensorflow .tfrecord?

J'ai un .tfrecord mais je ne sais pas comment il est structuré. Comment puis-je inspecter le schéma pour comprendre ce que le .tfrecord le fichier contient?

Toutes les réponses ou la documentation de Stackoverflow semblent supposer que je connais la structure du fichier.

reader = tf.TFRecordReader()
file = tf.train.string_input_producer("record.tfrecord")
_, serialized_record = reader.read(file)

...HOW TO INSPECT serialized_record...
30
Bob van Luijt

Je l'ai trouvé!

import tensorflow as tf

for example in tf.python_io.tf_record_iterator("data/foobar.tfrecord"):
    print(tf.train.Example.FromString(example))

Vous pouvez également ajouter:

from google.protobuf.json_format import MessageToJson
...
jsonMessage = MessageToJson(tf.train.Example.FromString(example))
79
Bob van Luijt

Utilisez TensorFlow tf.TFRecordReader avec le tf.parse_single_example décodeur comme spécifié dans https://www.tensorflow.org/programmers_guide/reading_data

PS, tfrecord contient des enregistrements 'Example' définis dans https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/example/example.proto

Une fois que vous avez extrait l'enregistrement dans une chaîne, l'analyse est quelque chose comme ceci

a=tf.train.Example()
result = a.ParseFromString(binary_string_with_example_record)

Cependant, je ne sais pas où est le support brut pour extraire des enregistrements individuels d'un fichier, vous pouvez le retrouver dans TFRecordReader

5
Yaroslav Bulatov