kik*_*der 6 multi-gpu tensorflow
所以我在 Windows 10 上,现在使用多个 GPU 来运行一些机器学习模型的训练,这个模型是关于 GAN 算法的,你可以在这里查看完整的代码:
在这里,我需要减少不同 GPU 设备的总和,如下所示:
if len(devices) > 1:
with tf.name_scope('SumAcrossGPUs'), tf.device(None):
for var_idx, grad_shape in enumerate(self._grad_shapes):
g = [dev_grads[dev][var_idx][0] for dev in devices]
if np.prod(grad_shape): # nccl does not support zero-sized tensors
g = tf.contrib.nccl.all_sum(g)
for dev, gg in zip(devices, g):
dev_grads[dev][var_idx] = (gg, dev_grads[dev][var_idx][1])
Run Code Online (Sandbox Code Playgroud)
现在在这部分我收到一个关于 NCCL 的错误,我注意到它在 Windows 上不受支持,它需要 linux,因此我被困在这里......这里的“解决方案”是什么??..我怎样才能设法在 Windows 上使用 NCCL 或上面代码的替代方案..有什么简单的方法可以做到这一点吗?...提前致谢。
注意:我已经检查了一些 stackoverflow 问题。但是,没有答案可以解决我的问题。
小智 3
尝试使用 gloo: https: //pytorch.org/docs/stable/distributed.html
并将其添加到代码的开头:
import os
import torch
os.environ['PL_TORCH_DISTRIBUTED_BACKEND'] = 'gloo'
os.environ['NCCL_DEBUG'] = 'INFO'
torch.distributed.init_process_group(backend="gloo")
Run Code Online (Sandbox Code Playgroud)
希望它有帮助(我这样做是为了让 llama 在我的 Windows 计算机上工作)
| 归档时间: |
|
| 查看次数: |
2973 次 |
| 最近记录: |