我使用的是tensorflow-federated版本0.28。我试图实现日程安排,但是我得到了以下错误:
Traceback (most recent call last):
File "/home/Desktop/FL/fedopt.py", line 340, in <module>
iterative_process = build_weighted_fed_avg_with_optimizer_schedule(
File "/home/anaconda3/envs/fl/lib/python3.9/site-packages/tensorflow_federated/python/learning/algorithms/fed_avg_with_optimizer_schedule.py", line 276, in build_weighted_fed_avg_with_optimizer_schedule
client_work = build_scheduled_client_work(model_fn, client_learning_rate_fn,
File "/home/anaconda3/envs/fl/lib/python3.9/site-packages/tensorflow_federated/python/learning/algorithms/fed_avg_with_optimizer_schedule.py", line 98, in build_scheduled_client_work
whimsy_optimizer = optimizer_fn(1.0)
TypeError: <lambda>() takes 0 positional arguments but 1 was given我的代码如下:
iterative_process = build_weighted_fed_avg_with_optimizer_schedule(
model_fn,
client_learning_rate_fn = lambda x: 0.001,
client_optimizer_fn=lambda: optimizers.Adam(learning_rate= client_lr, beta_1 = 0.9, beta_2 = 0.999,epsilon = 1e-07),
server_optimizer_fn=lambda: optimizers.SGD(learning_rate= server_lr),
use_experimental_simulation_loop=True)有人能告诉我我在这里做错了什么吗?
发布于 2022-07-08 18:19:20
在上面的代码中,lambda设置为接受参数x
client_learning_rate_fn = lambda x: 0.001你是想通过一些x被0.001操纵,比如说乘法吗?见下文:
client_learning_rate_fn = lambda x: x*0.001编辑:修正语法错误
https://stackoverflow.com/questions/72915271
复制相似问题