Pytorch 当我指示cuda:1训练我的模型时,为什么cuda:0中有一些数据?

Pytorch 当我指示cuda:1训练我的模型时,为什么cuda:0中有一些数据?,pytorch,Pytorch,我正在cuda:1中训练我的模型,我发现cuda:0中有一些数据 此外,如果我在cuda:1中训练时使用不同的超参数在cuda:0中训练我的模型,那么这两个训练过程都会变得非常缓慢。预测结果不如在cuda中训练我的模型:1 有人对此有什么想法吗?非常感谢。关于cuda:0中的数据,在cuda:1上进行培训时,进程具有相同的PID,因此可能是您错误地在cuda:0 GPU中分配了一些数据 由于训练阶段的缓慢,它可能会连接到CPU,这是一个瓶颈。训练时,CPU基本上是准备数据(通过数据加载器)输入

我正在cuda:1中训练我的模型,我发现cuda:0中有一些数据

此外,如果我在cuda:1中训练时使用不同的超参数在cuda:0中训练我的模型,那么这两个训练过程都会变得非常缓慢。预测结果不如在cuda中训练我的模型:1


有人对此有什么想法吗?非常感谢。

关于cuda:0中的数据,在cuda:1上进行培训时,进程具有相同的PID,因此可能是您错误地在cuda:0 GPU中分配了一些数据

由于训练阶段的缓慢,它可能会连接到CPU,这是一个瓶颈。训练时,CPU基本上是准备数据(通过数据加载器)输入GPU。GPU很可能在空闲时等待CPU提供的数据


作为双重检查,在两个GPU上进行培训时,尝试查看CPU百分比,并检查它是否几乎总是100%。

请发布python脚本,这可能是您的问题所在。我将检查是否存在导致这种现象的一些错误。CPU百分比确实已满。谢谢,这是我没有注意到的。嗨,我很高兴告诉你,我发现代码“torch.cuda.empty_cache()”导致了这个问题。我删除了它,现在只有cuda:1有数据。但我不知道为什么它会导致这个问题。