Ищите примеры тонкого кода TF для обучения на нескольких графических процессорах
Я ищу примеры тонкого кода, реализующего обучение на нескольких графических процессорах.
В частности: 1) Как я могу разделить рабочие нагрузки между несколькими графическими процессорами? 2) Есть ли что-то, что я должен остерегаться с точки зрения разделения переменных / области? 3) Есть ли что-то особенное, что мне нужно сделать, чтобы восстановить переменные из контрольной точки?
Я искал в Stack Overflow и github примеры, но, похоже, не нашел ничего (только больше проблем). Но мои извинения, если это уже где-то ответили - я был бы признателен, если бы вы указали мне в правильном направлении.
Спасибо всем!
1 ответ
TF-Slim уже содержит код / примеры, хотя это повсеместно и не так легко понять. Основные этапы настройки модели я обрисую ниже:
- Настройте тонкие, следуя инструкциям README здесь
- Загрузите предварительно обученную модель, такую как inception_v3 и набор данных flowers (сценарий в папке набора данных slim)
Запустите скрипт train_image_classifier.py:
python train_image_classifier.py --dataset_dir = $ {DATASET_DIR} --train_dir = $ {TRAIN_DIR} --dataset_name = flowers --dataset_split = train --model_name = inception_v3 --checkpoint_path = $ {CHECKPOINT_c__c___c___c___c____c_40_IN_T_P_S_T_P_S_T_P,InceptionV3/AuxLogits --trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits --num_clones=2
Здесь параметр num_clones соответствует количеству графических процессоров на одном хосте. Провести обучение на нескольких хостах немного сложнее. Я запустил это и вижу ускорение почти в 2 раза во время тренировки.