gpt4 book ai didi

tensorflow - 为什么 Tensorflow 的 MirroredStrategy 和 OneDevicestrategy 在 colab 上不起作用?

转载 作者:行者123 更新时间:2023-12-04 10:47:12 25 4
gpt4 key购买 nike

我正在尝试使用 MirroredStrategy 及其其他变体来理解 Tensorflow 分布式训练。我已经在 colab 上有一个带有 MNIST 的简单脚本,但需要在多个 GPU 上进行测试。运行和实现代码给我一个错误,如“ValueError: Distribute argument in compile is not available in TF 2.0 please create the model under the distribution strategy scope.”我也尝试过 OneDeviceStrategy,但它也不起作用。我想使用各种分布式训练方法来比较时间复杂度和准确性。这里有一个
Screenshot of the error和一个 Link to the code on Colab .

最佳答案

问题本质上是您使用分发策略范围的方式。在 TF 2.0 中,您不会将分发策略传递给 compile 方法。相反,您需要构建模型并在分发策略范围内对其进行编译。请注意,对 model.fit(...) 的调用不应在分发策略范围内。例如,这是您的 colab 代码的编辑版本,它应该可以解决您的问题:

...

strategy = tf.distribute.MirroredStrategy()

with strategy.scope():
input_img = layers.Input(shape=IMG_SIZE)
model = layers.Conv2D(32, (3, 3), padding='same')(input_img)
... # model definition
output_img = layers.Activation('softmax')(model)

model = models.Model(input_img, output_img)

model.compile(optimizers.Adam(lr=0.0001), loss='categorical_crossentropy', metrics=["accuracy"])

...

history = model.fit(...)

请查看 Using tf.distribute.Strategy with Keras Distributed training with TensorFlow的部分指南以获取更多信息。

关于tensorflow - 为什么 Tensorflow 的 MirroredStrategy 和 OneDevicestrategy 在 colab 上不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59646275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com