在 TensorFlow Federated 中使用 update_struct 函数时出错
Error using update_struct function in TensorFlow Federated
我正在尝试从 TensorFlow Federated GitHub 存储库 运行 Minimal Stand-Alone Implementation of Federated Averaging,但在 server_update 函数中收到以下错误:
AttributeError: 模块 'tensorflow_federated.python.common_libs.structure' 没有属性 'update_struct'
我有一些旧的 TensorFlow Federated 代码使用 tff.utils 包中的 update_state 函数代替 update_struct() 但根据 GitHub 上的提交这个包裹现在是空的。我使用的是 TensorFlow Federated 版本 0.18.0,我在尝试 Google CoLab 时也遇到了同样的问题。
我的问题是如何解决这个错误?
谢谢,感谢任何帮助。
我假设您遇到了您描述的错误 here。
0.18版本好像没有这个符号。您可以依赖夜间版本 (pip install tensorflow-federated-nightly
),或修改该行以直接构造新对象,而不是使用 update_struct
帮助程序。也就是说,链接命令可以更改为:
return ServerState(model_weights,
server_optimizer.variables(),
server_state.round_num + 1))
我正在尝试从 TensorFlow Federated GitHub 存储库 运行 Minimal Stand-Alone Implementation of Federated Averaging,但在 server_update 函数中收到以下错误:
AttributeError: 模块 'tensorflow_federated.python.common_libs.structure' 没有属性 'update_struct'
我有一些旧的 TensorFlow Federated 代码使用 tff.utils 包中的 update_state 函数代替 update_struct() 但根据 GitHub 上的提交这个包裹现在是空的。我使用的是 TensorFlow Federated 版本 0.18.0,我在尝试 Google CoLab 时也遇到了同样的问题。
我的问题是如何解决这个错误?
谢谢,感谢任何帮助。
我假设您遇到了您描述的错误 here。
0.18版本好像没有这个符号。您可以依赖夜间版本 (pip install tensorflow-federated-nightly
),或修改该行以直接构造新对象,而不是使用 update_struct
帮助程序。也就是说,链接命令可以更改为:
return ServerState(model_weights,
server_optimizer.variables(),
server_state.round_num + 1))