You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行TensorFlow Federated官方文档示例代码遇AttributeError问题咨询

TensorFlow Federated代码运行错误排查

问题描述

尝试运行TensorFlow官方文档中的TensorFlow Federated(TFF)示例代码,代码如下:

import tensorflow as tf
import tensorflow_federated as tff

training_process = tff.learning.algorithms.build_weighted_fed_avg(get_dense_nn, client_optimizer_fn=lambda: tf.keras.Sequential.SGD(learning_rate=client_lr),                                                                 server_optimizer_fn=lambda:tf.keras.optimizers.SGD(learning_rate=server_lr))

运行时出现错误:

AttributeError: module 'tensorflow_federated.python.learning' has no attribute 'from_keras_model'

请问是操作有误还是文档存在问题?

原因分析与解决方案

  1. 版本不匹配问题:这个错误核心原因是你安装的TFF版本和参考的官方文档版本不一致。tff.learning.from_keras_model是旧版TFF的API,在新版本中已被重构或移除;而你代码里用的tff.learning.algorithms.build_weighted_fed_avg是新版API,说明你装的是新版TFF,但你的get_dense_nn函数内部大概率还在调用旧版的from_keras_model,导致冲突。

  2. 具体修正方案:

    • 若保留新版TFF:将get_dense_nn中的模型构建逻辑改为使用tff.learning.models.from_keras_model(注意API路径的变化),或者直接基于tff.learning.models.VariableModel接口定义模型。
    • 若匹配文档旧版本:卸载当前TFF,安装文档标注的对应旧版本(例如tensorflow-federated==0.20.0这类指定版本)。

另外,你贴出的代码里还有一处语法错误:tf.keras.Sequential.SGD应该改为tf.keras.optimizers.SGD,也需要同步修正。

内容的提问来源于stack exchange,提问作者Temitope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:52:05