gpt4 book ai didi

同时使用2个GPU的tensorflow

转载 作者:行者123 更新时间:2023-12-03 16:06:52 30 4
gpt4 key购买 nike

首先,我还是tensorflow的新手。我正在使用v0.9,并尝试使用我们拥有的计算机中安装的2个GPU。所以,这是正在发生的事情:

  • 当我在计算机上启动training data脚本时,它只能在2个GPU之一上运行。默认情况下,它采用第一个gpu:0/
  • 当我启动另一个training data脚本以在第二个GPU上运行时(在完成所需的更改即with tf.device..之后),同时保持第一个进程在第一个GPU上运行,tensorflow会杀死第一个进程并仅使用第二个GPU来运行第二个进程。如此看来, tensorflow 一次只允许一个进程吗?

  • 我需要的是:能够在安装在同一机器上的 上的2个不同的GPU上为2个不同的模型启动两个单独的training data脚本。我是否在这种情况下错过了什么?这是预期的行为吗?我是否应该在本地机器上进行分布式tensorflow?

    最佳答案

    So it seems only one process at a time is allowed by tensorflow?



    不。我的意思是,没有这样的限制。

    Is this the expected behavior? Should I go through distributed tensorflow on a local machine to do so?



    这不是预期的行为,可能有问题,因为您要执行的操作非常有可能(我当前正在运行)。

    首先, CUDA使用了一个环境变量 CUDA_VISIBLE_DEVICE,您可以猜测它为 session 设置了可见的GPU。

    这意味着,如果要在不同的GPU上运行两个进程,则更简单的方法是打开两个控制台并执行以下操作:

    单GPU进程(#1):
    export CUDA_VISIBLE_DEVICE=0
    ./train.py

    单GPU进程(#2):
    export CUDA_VISIBLE_DEVICE=1
    ./train.py

    我的猜测是您的 CUDA_VISIBLE_DEVICE以某种方式设置为O(或1),这确实会引起问题。

    如果要将两个GPU都用于一个进程,则可以运行:

    双GPU流程:
    export CUDA_VISIBLE_DEVICE=0,1
    ./train.py

    甚至:

    CPU进程(禁用GPU):
    export CUDA_VISIBLE_DEVICE=
    ./train.py

    希望能帮助到你 pltrdy

    关于同时使用2个GPU的tensorflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135538/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com