属性错误:模块"tensorflow_federated. python. learning"没有属性"算法"

slmsl1lt  于 2023-01-13  发布在  Python
关注(0)|答案(2)|浏览(193)

我正在尝试运行Tensorflow in their official documentation提供的与Tensorflow联邦相关的代码。代码如下所示:

import tensorflow as tf
import tensorflow_federated as tff

def model_fn():
  model = tf.keras.models.Sequential([
      tf.keras.layers.Dense(10, tf.nn.softmax, input_shape=(784,),
                            kernel_initializer='zeros')
  ])

trainer = tff.learning.algorithms.build_weighted_fed_avg(
  model_fn,
  client_optimizer_fn=lambda: tf.keras.optimizers.SGD(0.1))

但是,我得到了以下错误:

Traceback (most recent call last):
  File "G:/pythonproject2/main.py", line 43, in <module>
    trainer = tff.learning.algorithms.build_weighted_fed_avg(
AttributeError: module 'tensorflow_federated.python.learning' has no attribute 'algorithms'

有人能帮帮我吗?

qeeaahzv

qeeaahzv1#

我发现了这个问题,tensorflow_federated需要Python 3. 9+。因为我使用的是Python 3. 7,所以我遇到了上面的错误。
Tensorflow-Federated Documentation

t40tm48m

t40tm48m2#

我遇到了上述问题,所以你必须做什么:
1-升级你的python版本(3.9+)通过使用例如这行代码conda install python=3.9.2如果你在anaconda中使用virtual env
2-升级你的pip,安装工具,wheel pip install --upgrade pip setuptools wheel
3-使用pip install --upgrade tensorflow-federated升级您的Tensorflow联邦
我是这样解决这个问题的。

相关问题