我正在使用 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。关于可能是什么问题的任何想法?谢谢!