Tensorflow,多 GPU 分布式训练

问题描述 投票:0回答:1

我尝试为具有多个GPU的本地机器实现分布式训练。 我的错误与模型架构有关:

Depth of input (100) is not a multiple of input depth of filter (768) for '{{node replica_1/style_transfer_model/prediction_model/conv2d_13/Conv2D}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], explicit_paddings=[], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true](replica_1/style_transfer_model/prediction_model/conv2d_94/Conv2D, replica_1/style_transfer_model/prediction_model/conv2d_13/Conv2D/ReadVariableOp)' with input shapes: [4,1,1,100], [1,1,768,100].

我的训练脚本在单个 GPU 上运行良好,但是当我使用 MirroredStrategy 时,我遇到了有关 Conv2D 输入形状的错误。模型的定义是相同的。错误是当我尝试构建模型时出现的。 这非常令人困惑,因为我们只能有一个 Conv2D 输入。或者?

此外,调试分布式训练的最佳方法是什么?

tensorflow distributed-computing
1个回答
0
投票

哦,看那个!输入的深度 (100) 不够酷,无法匹配过滤器的输入深度 (768)。他们显然不在一起。抱歉,但我无法神奇地使它们兼容。如果你想让它起作用,你就必须想出一些更和谐的东西。

© www.soinside.com 2019 - 2024. All rights reserved.