【问题标题】:TensorFlow: image preprocessing on GPUTensorFlow:GPU 上的图像预处理
【发布时间】:2016-11-20 11:54:58
【问题描述】:

我有四张 GPU 卡,但 CPU 无法为所有这些卡提供足够快的图像预处理。队列很快就用完了,大部分时间卡都是空闲的。有没有办法将 QueueRunner 放在这四张 GPU 卡中的一张上,以便一张卡进行预处理并形成队列,而另外三张实际训练模型?

【问题讨论】:

    标签: tensorflow gpu multi-gpu


    【解决方案1】:

    是的,应该可以。您可以将预处理python函数包装在tf.py_func中,创建一个TF op并使用with tf.device("gpu:0"):将其放入请求的gpu,在那里创建一个队列并在另一个gpus上使用dequeue op。

    【讨论】:

    • 你确定这行得通吗?我认为python函数仍然会在CPU上运行,对吧?
    • 请提供示例代码。你到底要把with放在哪里?我在数据集上使用map()s 定义图像增强。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 2014-10-07
    • 1970-01-01
    相关资源
    最近更新 更多