Очередь входных данных с помощью tensorflow или skflow

Я тренирую нейронную сеть с DataFeeder, которая немного медленная (потому что она читает несмежные данные из файла h5); поэтому GPU бездействует (GPU-Util равен 0%) половину времени.

Есть ли способ, как в TensorFlow, так и в skflow, запустить несколько DataFeeder параллельно, чтобы избежать этого узкого места?


person P. Camilleri    schedule 13.04.2016    source источник


Ответы (1)


В Tensorflow есть библиотека для чтения, которая может параллельно ( и в C++) читать и ставить данные в очередь. Это должно устранить узкое место, о котором вы говорите.

В настоящее время (на этой/следующей неделе) мы добавляем его поддержку в tf.learn (новое название skflow), чтобы упростить его использование. Вам все равно нужно будет преобразовать ваши данные в один из форматов, поддерживаемых считывателями (фиксированные векторы len, Пример прототипа).

Если вы хотите попробовать заставить это работать самостоятельно - вы можете создать отдельный DataFeeder, который будет использовать операции из библиотеки чтения в функции input_builder и возвращать no-op в функции get_feed_dict_fn.

person ilblackdragon    schedule 13.04.2016