Tensorflow联合学习在colab中给出错误

b4qexyjb  于 2023-04-12  发布在  其他
关注(0)|答案(2)|浏览(156)

我正在尝试在colab上运行Tensorflow联邦教程。
但是,到目前为止,from tensorflow_federated import python as tff代码给出了以下错误:

TypeError                                 Traceback (most recent call last)
<ipython-input-3-af7e4c5121d6> in <module>()
      1 import tensorflow as tf
----> 2 from tensorflow_federated import python as tff

6 frames
/usr/local/lib/python3.7/dist-packages/tensorflow_federated/python/common_libs/structure.py in <module>()
    263 
    264 def to_odict(struct: Struct,
--> 265              recursive: bool = False) -> collections.OrderedDict[str, Any]:
    266   """Returns `struct` as an `OrderedDict`, if possible.
    267 

TypeError: 'type' object is not subscriptable

任何建议都将不胜感激。谢谢你的时间。

rkue9o1l

rkue9o1l1#

TFF的最新版本只兼容Python 3.9及更高版本;Google Colab的托管运行时仍然在Python 3.7上。
运行这些笔记本的最快方法可能是使用Python 3.9运行您自己的本地运行时,并连接那里的笔记本;可以在here中找到Colab的相关说明。

uqjltbpv

uqjltbpv2#

在colab(!pip install -q --upgrade tensorflow_federated)上安装tensorflow 联邦时
我得到以下错误:
pymc 5.1.2需要cachetools〉=4.2.1,但你有cachetools 3.1.1,这是不兼容的。
orbax 0.1.7需要jax〉=0.4.6,但你有jax 0.3.15,这是不兼容的。
google-colab 1.0.0要求portpicker~=1.3.1,但您的portpicker 1.5.2不兼容。
flax 0.6.8要求jax〉=0.4.2,但你有jax 0.3.15,这是不兼容的。
chex 0.1.7要求jax〉=0.4.6,但你有jax 0.3.15,这是不兼容的。
arviz 0.15.1要求scipy〉=1.8.0,但您的scipy 1.7.3不兼容。
我安装了以下包:
!pip install -q --upgrade tensorflow
!pip install -q cachetools>=4.2.1
!pip install -q jax>=0.4.6
!pip install -q portpicker~=1.5
!pip install -q scipy>=1.8.0
!pip install -q --upgrade tensorflow_federated
!pip install -q --upgrade nest_asyncio
安装portpicker~=1.3.1是给错误,所以我去了portpicker~=1.5
这将安装最新版本的tensorflow-federated(0.54.0)。

相关问题