Подача больших числовых массивов в оценщики TensorFlow через tf.data.Dataset - PullRequest
0 голосов
/ 27 февраля 2019

Документация TensorFlow tf.data.Dataset о потреблении пустых массивов гласит, что для использования пустых массивов в сочетании с API Dataset массивы должны быть достаточно маленькими (всего <2 ГБ), чтобыбыть использованы в качестве тензоров, или они могут быть переданы в набор данных через заполнители. </p>

Однако, если вы используете Dataset в сочетании с оценщиками (если заполнители не доступны), документация не дает решения поработа с большими массивами без заполнителей.

Существуют ли другие варианты передачи значений заполнителей в оценщики, которые можно использовать, или это решение для предоставления данных в формате tfrecord или csv?

1 Ответ

0 голосов
/ 27 февраля 2019

Вы можете использовать np.split и from_generator до создания объекта набора данных.

chunks = list(np.split(array, 1000))

def gen():
    for i in chunks:
        yield i

dataset = tf.data.Dataset.from_generator(gen, tf.float32)
dataset = dataset.shuffle(shuffle_buffer_size)
...

Вы можете контролировать размер набора данных с помощью случайного выбора.Он будет загружать только указанное количество одновременно.

...