TensorFlow Federated‘Hello World’示例在VS Code Jupyter Notebook运行失败求助
解决TensorFlow Federated在Jupyter Notebook中卡住无输出的问题
问题分析
你看到的CUDA相关警告是因为当前环境没有NVIDIA GPU和CUDA驱动,属于正常提示,不是导致代码卡住的原因。代码卡住的核心原因通常和TFF的异步执行逻辑、Jupyter的事件循环冲突,或者版本兼容性有关。
解决方案
1. 调整异步执行配置
在现有代码基础上,显式指定TFF使用同步执行模式,避免异步事件循环阻塞:
import tensorflow as tf import tensorflow_federated as tff import nest_asyncio # 应用nest_asyncio后,强制TFF使用同步执行 nest_asyncio.apply() tff.backends.native.set_sync_execution_context() print(tff.federated_computation(lambda: 'Hello, World!')())
2. 修复版本兼容性问题
你的TensorFlow(2.11.1)和TensorFlow Federated(0.48.0)版本不匹配:
- TFF 0.48.0要求TensorFlow版本为2.15.x
- 建议二选一调整版本:
- 降级TFF到适配TF2.11的版本:
pip install tensorflow-federated==0.40.0 - 或升级TensorFlow到2.15:
pip install tensorflow==2.15.0
- 降级TFF到适配TF2.11的版本:
3. 排除Jupyter环境干扰
先在VS Code的普通Python脚本(.py文件)中运行代码,验证核心逻辑是否正常:
import tensorflow as tf import tensorflow_federated as tff print(tff.federated_computation(lambda: 'Hello, World!')())
如果脚本能正常输出,说明问题出在Jupyter的事件循环配置,此时可以尝试:
- 重启Notebook内核
- 升级notebook包:
pip install --upgrade notebook
验证步骤
运行修改后的代码后,若输出Hello, World!则问题解决;若仍卡住,可尝试:
- 用全新虚拟环境重新安装所有依赖
- 检查系统CPU/内存占用,排除资源不足导致的阻塞
内容的提问来源于stack exchange,提问作者Amar Pal Singh
相关产品推荐
相关产品推荐

