【问题标题】:tensorflow slim multi-GPU can't worktensorflow slim多GPU无法工作
【发布时间】:2017-06-23 18:11:55
【问题描述】:

目前我使用 tensorflow slim 从头开始​​训练模型。如果我只是按照这里https://github.com/tensorflow/models/tree/master/slim#training-a-model-from-scratch 的说明进行操作,一切正常。

但是,我想使用多 GPU,所以我设置了 --num_clones=2 或 4,它们都不起作用。结果是他们都卡在 global_step/sec: 0 上。他们无法继续。你可以在这里看到结果图片error result

DATASET_DIR=/tmp/imagenet
TRAIN_DIR=/tmp/train_logs
python train_image_classifier.py \
--num_clones=4 \
--train_dir=${TRAIN_DIR} \
--dataset_name=imagenet \
--dataset_split_name=train \
--dataset_dir=${DATASET_DIR} \
--model_name=inception_v3

希望有人可以帮助我,在此先感谢。顺便说一句,我在 Ubuntu 16.04 上使用 tensorflow 1.1 和 python 35。如果您需要更多信息,请告诉我。

【问题讨论】:

  • 使用多个 GPU 时构建图需要更长的时间。如果你等得够久,你会发现问题吗?如果你用 ctrl+c 杀死程序,堆栈跟踪是什么?
  • 您好,感谢您的回复。我再次尝试该程序并等待了半个多小时。一开始还是卡住了。但是,我不能用 ctrl+c 杀死程序。我只能通过按 ctrl+z 来停止程序,但进程仍然占用资源。所以我需要使用 kill -9 PID 释放资源。我也更新了错误图片,你可以参考上面的“错误结果”。

标签: python tensorflow multi-gpu


【解决方案1】:

您的问题类似于我使用 tf-slim 从单 GPU 切换到多 GPU 配置后的经历。我观察到参数服务器作业假定名称为“localhost”,这与 model_deploy 分配给我的 CPU 设备的默认作业名称冲突。我建议您按照this tensorflow.org article 的“记录设备放置”部分检查设备名称。它解释了如何在每个操作的基础上将设备名称打印到控制台。然后,您可以将实际作业名称作为参数传递给 DeployConfig() 的 ps_job_name 参数并继续训练。

【讨论】:

猜你喜欢
  • 2017-09-10
  • 2020-01-14
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-12
相关资源
最近更新 更多