Я пытаюсь реализовать многопоточность для одновременного обучения и прогнозирования (тестирования).

Я пытаюсь реализовать многопоточность для одновременного обучения и прогнозирования (тестирования). И я собираюсь использовать модуль Python "Threading", как показано в https://www.tensorflow.org/api_docs/python/tf/FIFOQueue Ниже приведены вопросы.

  1. Если я использую Python-модуль 'threading', использует ли тензорный поток большую часть процессора или большую часть процессора?

  2. Должен ли я сделать два графика (нейронные сети с одинаковой топологией) в тензорном потоке: один для прогнозирования, а другой для обучения? Или можно сделать только один график?

Я буду очень благодарен всем, кто может ответить на эти вопросы! Спасибо!

1 ответ

Решение
  1. Если вы используете Python threading модуль, он будет использовать только cpu; также Python Threading не для параллелизма во время выполнения, вы должны использовать multiprocessing,

  2. В вашей модели, если вы используете dropout или же batch_norm как операции, которые меняются в зависимости от training а также validationХорошей идеей будет создание отдельных графиков, повторное использование (график проверки будет использовать все обучающие переменные) общей переменной для проверки / тестирования.

Примечание: вы также можете использовать один график с дополнительными операциями, которые изменяют поведение на основе обучения / проверки.

Другие вопросы по тегам