AttributeError: module 'syft' has no attribute 'TorchHook'

AttributeError: module 'syft' has no attribute 'TorchHook'

请专家帮助:当我在 python 中使用 pysyft 库时,出现此错误( AttributeError: 模块 'syft' 没有属性 'TorchHook')

这是我的代码截图 [1]: https://i.stack.imgur.com/rPxWw.png

我的环境: 间谍 (Python IDE) Ubuntu 20.04 python3

您使用的syft版本为v0.3.0+。它不包含 syft.TorchHook 因为我相信我读到那里不需要它。 使用 pip install syft==0.2.9 来使用 syft.TorchHook()。特别是如果你正在学习来自 Openmined 的 Andrew Trask 的安全和私人课程。

请注意,如果您确实在学习该课程,Openmined 团队已经推出了一个新的更新课程。有关详细信息,请参阅 https://courses.openmined.org/courses/foundations-of-private-computation。它基于 syft 的更新版本。

我想补充一个问题:如果您在使用 PIP 安装 syft==0.2.9 时发现以下问题

Could not find a version that satisfies the requirement torch~=1.4.0 (from syft) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2)

可以参考以下方法解决:

pip install syft -f https://download.pytorch.org/whl/torch_stable.html

原因:

  1. 并非所有 PyTorch 版本都在 Python 的包注册表 PyPI 上可用。

  2. -f :添加自定义注册表

    -f, --find-links <url>

    If a URL or path to an html file, then parse for links to archives such as sdist (.tar.gz) or wheel (.whl) files. If a local path or file:// URL that’s a directory, then look for archives in the directory listing. Links to VCS project URLs are not supported.

  3. 参考这个