我正在尝试运行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'
有人能帮帮我吗?
2条答案
按热度按时间qeeaahzv1#
我发现了这个问题,
tensorflow_federated
需要Python 3. 9+。因为我使用的是Python 3. 7,所以我遇到了上面的错误。从Tensorflow-Federated Documentation:
t40tm48m2#
我遇到了上述问题,所以你必须做什么:
1-升级你的python版本(3.9+)通过使用例如这行代码
conda install python=3.9.2
如果你在anaconda中使用virtual env2-升级你的pip,安装工具,wheel
pip install --upgrade pip setuptools wheel
3-使用
pip install --upgrade tensorflow-federated
升级您的Tensorflow联邦我是这样解决这个问题的。