寻找用于跨多个GPU进行培训的超薄代码示例

时间:2017-11-19 21:10:18

标签: tensorflow tensorflow-slim

我正在寻找在多个GPU上实施培训的超薄代码示例。

具体做法是: 1)如何在多个GPU之间分配工作负载? 2)在变量共享/范围方面,我需要注意什么? 3)从检查点恢复变量需要做些什么特别的事情吗?

我在Stack Overflow和github上搜索了一些例子,但似乎找不到任何问题(只是更多问题)。但是,如果已经在某个地方得到了回答,我表示歉意 - 如果你指出我正确的方向,我将不胜感激。

全部谢谢!

1 个答案:

答案 0 :(得分:0)

tf-slim已经包含了代码/示例,尽管它已经遍布整个地方并且不容易理解。微调模型的基本步骤我将在下面概述:

  1. 按照自述文件here
  2. 中的说明进行设置
  3. 下载预先训练过的模型,如inception_v3和鲜花数据集(苗条的数据集文件夹中的脚本)
  4. 运行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

  5. 此处 num_clones 参数对应于单个主机上的GPU数量。跨多个主机运行培训有点复杂。我已经运行了这个,并且在训练时可以看到近2倍的加速。