【问题标题】:Federated Learning for Image Classification in colabcolab 中图像分类的联邦学习
【发布时间】:2021-06-17 11:12:23
【问题描述】:

我是联邦学习的新手,我尝试实现图像分类的 FL 代码,但我无法理解这一行

我对一些细节部分感到困惑。我正在尝试在 Keras 中构建顺序模型,但是在训练模型时出现此错误,我该如何解决?

请指导我 谢谢。

iterative_process = tff.learning.build_federated_averaging_process(model_fn)

TypeError                                 Traceback (most recent call last)
<ipython-input-50-0fdb188570d0> in <module>()
----> 1 iterative_process = tff.learning.build_federated_averaging_process(model_fn)

TypeError: build_federated_averaging_process() missing 1 required positional argument: 'client_optimizer_fn'

https://colab.research.google.com/github/tensorflow/federated/blob/v0.12.0/docs/tutorials/federated_learning_for_image_classification.ipynb#scrollTo=sk6mjOfycX5N

【问题讨论】:

    标签: python machine-learning tensorflow-federated federated-learning


    【解决方案1】:

    这是来自 python 的关于函数调用的错误,请参阅this answer and question 以了解类似情况。

    tff.learning.build_federated_averaging_process 的 API 文档指出需要两个参数:model_fn 参数和 client_optimizer_fn

    从代码看来,似乎只指定了第一个参数。上面的 colab notebook 链接指向旧版本的 TFF(0.12.0,最近的是0.19.0)。较新版本的 PIP 包不保证旧版本的 colab 笔记本。

    newer colab notebook version 中,调用已更新为匹配当前 API 并包含其他参数:

    iterative_process = tff.learning.build_federated_averaging_process(
        model_fn,
        client_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=0.02),
        server_optimizer_fn=lambda: tf.keras.optimizers.SGD(learning_rate=1.0))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      相关资源
      最近更新 更多