colab中图像分类的联邦学习

2024-05-16 01:49:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我是联邦学习的新手,我试图实现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


Tags: 模型图像buildmodelprocessfnlearning联邦
1条回答
网友
1楼 · 发布于 2024-05-16 01:49:33

这是python关于函数调用的错误,请参见this answer and question了解类似的场景

^{}的API文档表明需要两个参数:一个model_fn参数和一个client_optimizer_fn

从代码看,似乎只指定了第一个参数。上面的colab笔记本链接指向一个较旧版本的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))

相关问题 更多 >