Как читать tfrecords один за другим и сохранять их в массиве - PullRequest
0 голосов
/ 26 апреля 2020

Я пытался прочитать все записи из файла tfrecords и затем сохранить их в массив. Я не могу понять, как это сделать. Может кто-нибудь, пожалуйста, помогите мне. Также есть лучший способ сделать это. Пожалуйста, дайте мне знать. Я пытаюсь прочитать 4 файла по одному. Я разместил код ниже -

files_names = ["tfrecord1(0.025window).tfrecords", "tfrecord2(0.025window).tfrecords", "tfrecord3(0.025window).tfrecords", "tfrecord4(0.025window).tfrecords"]

def create_tf_records(files):
  tf_records_array = []
  for file in files :
    example = tf.train.SequenceExample()
    i = 0
    for record in tf.compat.v1.python_io.tf_record_iterator(file):
      example = tf.train.SequenceExample()
      example.ParseFromString(record)
      f = example.feature_lists.feature_list['audio_embedding']

      temp = f.feature[i].bytes_list.value[0].hex()
      i+=1
      tf_records_array.append([int(temp[i:i+2],16) for i in range(0,len(temp),2)])

  return tf_records_array

tf_records_array = create_tf_records(files_names)

После настройки этого куска кода я получаю длину массива равной 4, тогда как есть 4 файла, и этот код просто читает первые значения.

...