Я пытаюсь реализовать многопоточность для одновременного обучения и прогнозирования (тестирования).
Я пытаюсь реализовать многопоточность для одновременного обучения и прогнозирования (тестирования). И я собираюсь использовать модуль Python "Threading", как показано в https://www.tensorflow.org/api_docs/python/tf/FIFOQueue Ниже приведены вопросы.
Если я использую Python-модуль 'threading', использует ли тензорный поток большую часть процессора или большую часть процессора?
Должен ли я сделать два графика (нейронные сети с одинаковой топологией) в тензорном потоке: один для прогнозирования, а другой для обучения? Или можно сделать только один график?
Я буду очень благодарен всем, кто может ответить на эти вопросы! Спасибо!
1 ответ
Если вы используете Python
threading
модуль, он будет использовать толькоcpu
; также Python Threading не для параллелизма во время выполнения, вы должны использоватьmultiprocessing
,В вашей модели, если вы используете
dropout
или жеbatch_norm
как операции, которые меняются в зависимости отtraining
а такжеvalidation
Хорошей идеей будет создание отдельных графиков, повторное использование (график проверки будет использовать все обучающие переменные) общей переменной для проверки / тестирования.
Примечание: вы также можете использовать один график с дополнительными операциями, которые изменяют поведение на основе обучения / проверки.