【发布时间】:2017-08-30 05:04:56
【问题描述】:
我正在使用 tf.slim 的 train_image_classifier.py 脚本在 CIFAR10 数据集上微调 ResNet50:
python train_image_classifier.py \
--train_dir=${TRAIN_DIR}/all \
--dataset_name=cifar10 \
--dataset_split_name=train \
--dataset_dir=${DATASET_DIR} \
--checkpoint_path=${TRAIN_DIR} \
--model_name=resnet_v1_50 \
--max_number_of_steps=3000 \
--batch_size=32 \
--num_clones=4 \
--learning_rate=0.0001 \
--save_interval_secs=10 \
--save_summaries_secs=10 \
--log_every_n_steps=10 \
--optimizer=sgd
对于 3k 步,在单个 GPU (Tesla M40) 上运行大约需要 3000 万,而在 4 个 GPU 上运行需要 50 多万。 (两种情况下的准确率相似:~75% 和 ~78%)。
我知道多 GPU 设置延迟的一个可能原因是加载图像,但对于 tf.slim,它使用 CPU。关于可能是什么问题的任何想法?谢谢!
【问题讨论】:
-
时间线有助于识别性能瓶颈。时间线的使用:stackoverflow.com/questions/36123740/…
-
@YaoZhang 我通过 nvidia-smi 跟踪了 GPU 的使用情况,所有 4 个 GPU 的使用率都在 90+% 左右,然后是 0%,并且长期这样贯穿整个培训。
-
如果你在Github提出问题,这个问题会得到更好的回答
标签: python tensorflow gpu multi-gpu tf-slim