【问题标题】:Change number of GPUs when deploy部署时更改 GPU 数量
【发布时间】:2017-02-23 11:19:44
【问题描述】:

我在 2-GPU 机器上有一个经过微调的 Inception v3。 现在我正尝试在另一台具有 1 个 GPU 的机器上运行经过训练的模型,但出现如下错误:

无法将设备分配给节点“tower_1/gradients/tower_1/conv0/BatchNorm/moments/sufficient_statistics/Sub_grad/BroadcastGradientArgs”:无法满足明确的设备规范“/device:GPU:1”,因为没有符合该规范的设备在此过程中注册;可用设备:/job:localhost/replica:0/task:0/cpu:0, /job:localhost/replica:0/task:0/gpu:0

该模型似乎需要一个 2-GPU 环境,就像它训练时的环境一样。我可以将此模型转换为仅使用 1 个 GPU 吗?

【问题讨论】:

    标签: tensorflow gpu


    【解决方案1】:

    我改变了两件事,它起作用了。

    1. 在 Session 中开启allow_soft_placement 选项:

      config = tf.ConfigProto(allow_soft_placement=True)
      sess = tf.Session(config=config)
      
    2. 将模型文件名从model.ckpt-50000.data-00000-of-00001重命名为model.ckpt-50000

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多