我有两个 GPU,NVIDIA GTX 1070 Ti。为了将 Keras 与 TensorFlow 后端一起使用,我是否应该将它们与 SLI 连接?如果不是,那么它们将被分别对待,一个模型将在一张卡片上训练。这是我目前所理解的两个选项。谢谢你。
我是否应该将我的两个 GPU 与 SLI 连接?(对于 Keras + TensorFlow)
数据挖掘
Python
喀拉斯
张量流
显卡
2022-03-16 23:49:18
1个回答
您无需通过 SLI 连接 GPU。Keras 和 TensorFlow 将负责跨 GPU 分配批次
https://keras.io/utils/#multi_gpu_model
除了 SLI,如果你使用 NV-link,Keras 也可以使用 GPU 进行合并。 https://www.nvidia.com/en-us/data-center/nvlink/
从文档中:
具体来说,这个函数实现了单机多GPU数据并行。它的工作方式如下:
将模型的输入分成多个子批次。在每个子批次上应用模型副本。每个模型副本都在专用 GPU 上执行。将结果(在 CPU 上)连接成一个大批次。例如,如果您的 batch_size 是 64 并且您使用 gpus=2,那么我们会将输入分成 32 个样本的 2 个子批次,在一个 GPU 上处理每个子批次,然后返回全部 64 个已处理样本的批次。
这会导致多达 8 个 GPU 的准线性加速。
此功能暂时仅适用于 TensorFlow 后端。
其它你可能感兴趣的问题