Tensorflow 跨多个gpu镜像多gpu模型

Tensorflow 跨多个gpu镜像多gpu模型,tensorflow,tf.keras,multi-gpu,Tensorflow,Tf.keras,Multi Gpu,我有一个tensorflow(tf2.0)/keras模型,它使用多个GPU进行计算。模型中有2个分支,每个分支位于单独的GPU上 我有一个4 GPU系统,我想用于培训,我想镜像此模型,以便GPU 1和2包含一个模型,GPU 3和4包含镜像模型 将自动处理此镜像吗?还是假设我的模型是一个单一的GPU模型 如果tf.distribute.MirroredStrategy无法处理此问题,是否有人对如何定制MirroredStrategy以实现此培训结构有任何建议?这听起来很像您需要进行自定义培训循环

我有一个tensorflow(tf2.0)/keras模型,它使用多个GPU进行计算。模型中有2个分支,每个分支位于单独的GPU上

我有一个4 GPU系统,我想用于培训,我想镜像此模型,以便GPU 1和2包含一个模型,GPU 3和4包含镜像模型

将自动处理此镜像吗?还是假设我的模型是一个单一的GPU模型


如果
tf.distribute.MirroredStrategy
无法处理此问题,是否有人对如何定制
MirroredStrategy
以实现此培训结构有任何建议?

这听起来很像您需要进行自定义培训循环。 镜像策略在每个GPU上复制模型,但由于您的模型在两个GPU上都准备好了,我认为它不会正常工作


但您可以尝试一下,并与nvidia smi核实tensorflow正在做什么

这是一个Y/N问题。对python文件运行两次调用,并使用CUDA_VISIBLE_设备为每次调用公开相关GPU。例如。;运行第一个调用“CUDA_VISIBLE_DEVICES=0,1 python train_model.py”。镜像策略将在可用GPU上分发培训模型。