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...
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))
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