Как загрузить только данные пакета в память во время тренировки с оценщиком? - PullRequest
0 голосов
/ 20 июня 2019

В настоящее время я тренирую свою модель с оценщиком, используя приведенный ниже код.Но когда я использую большой набор данных, моей памяти (RAM) недостаточно для загрузки большого набора данных.Итак, есть ли способ загрузить в память только пакетные данные во время тренировки с оценщиком?

здесь пример, показанный для кератов.Как я могу реализовать это с помощью оценщика?

В настоящее время я загружаю все свои данные в память и передаю их в оценщик.

classifier = tf.estimator.Estimator(model_fn = convNet,model_dir='/dir')
train_input_fn = tf.estimator.inputs.numpy_input_fn(x={"x": train_data},
        y=train_labels,
        batch_size=32,
        num_epochs=1,
        shuffle=True)
classifier.train(input_fn=train_input_fn, steps=657)

1 Ответ

0 голосов
/ 20 июня 2019

вы можете использовать tf.data.dataset. такие как: tf.data.TextLineDataset или tf.data.TFRecordDataset.

затем обработайте batch_size, epoch, shuffle в input_fn:

    def input_fn():

        dataset=tf.data.TextLineDataset(file_path)

        dataset=dataset.map(map_fn)
        dataset=dataset.shuffle(shuffle).repeat(epochs).batch(batch_size)
        return dataset 
...