我正在尝试在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
任何建议都将不胜感激。谢谢你的时间。
2条答案
按热度按时间rkue9o1l1#
TFF的最新版本只兼容Python 3.9及更高版本;Google Colab的托管运行时仍然在Python 3.7上。
运行这些笔记本的最快方法可能是使用Python 3.9运行您自己的本地运行时,并连接那里的笔记本;可以在here中找到Colab的相关说明。
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)。