файлы с несколькими наборами данных, которые не помещаются в тензор потока / кераты памяти - PullRequest
0 голосов
/ 19 марта 2020

У меня есть несколько файлов TFRecord и в каждом изображение с меткой (в файле есть метки микширования). Я пытаюсь создать генератор, который загружает, перемешивает и возвращает batch_image и соответствующий batch_label.

q1) Как получить имена текущих файлов, которые (файлы name od dataset)? q2) Генератор не запускает все файлы. Что не так?

def tfrecord_gen(path_to_folder, num_parallel_calls=4, batch_size=32, buffer_size=10240):

    enter code here

    tfrecord_files = glob(os.path.join(path_to_folder, "*.tfrecord"))

    np.random.shuffle(tfrecord_files)

    shards = tf.data.Dataset.from_tensor_slices(tfrecord_files)

    dataset = shards.interleave(tf.data.TFRecordDataset,
                                   cycle_length=4, block_length=10)

    dataset = dataset.shuffle(buffer_size)

    dataset = dataset.map(parse_tfrecord, num_parallel_calls)

    dataset = dataset.repeat()
    dataset = dataset.batch(batch_size).prefetch()


    iterator = iter(dataset)

    while True:

        images_batch, labels_batch = next(iterator)
        labels_batch = to_categorical(labels_batch)

        yield images_batch, labels_batch



model_history = clf.fit_generator(tfrecordGen(

                                              path_to_folder=r"D:\CNN_workspace\data\train",
                                              is_train=True,
                                              batch_size=32,
                                              num_parallel_calls=1,
                                              buffer_size=5*32
                                              ),
    steps_per_epoch=10
                                  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...