我正在寻找在多个GPU上实施培训的超薄代码示例。
具体做法是: 1)如何在多个GPU之间分配工作负载? 2)在变量共享/范围方面,我需要注意什么? 3)从检查点恢复变量需要做些什么特别的事情吗?
我在Stack Overflow和github上搜索了一些例子,但似乎找不到任何问题(只是更多问题)。但是,如果已经在某个地方得到了回答,我表示歉意 - 如果你指出我正确的方向,我将不胜感激。
全部谢谢!
答案 0 :(得分:0)
tf-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_PATH} --checkpoint_exclude_scopes = InceptionV3 / Logits,InceptionV3 / AuxLogits --trainable_scopes = InceptionV3 / Logits, InceptionV3 / AuxLogits --num_clones = 2
此处 num_clones 参数对应于单个主机上的GPU数量。跨多个主机运行培训有点复杂。我已经运行了这个,并且在训练时可以看到近2倍的加速。