TensorFlow-GPU在Python Shell可运行但Jupyter中无法识别GPU问题问询
TensorFlow-GPU在Python Shell可用、Jupyter不可用的原因及解决方案
1. Jupyter内核未绑定对应conda环境
这是最常见的故障原因:你安装tensorflow-gpu的conda环境,和Jupyter当前运行用的内核不是同一个环境。
- 排查步骤:
- 在Jupyter中运行代码查看当前解释器路径:
import sys print(sys.executable)- 在正常运行的Python Shell中运行同样代码,对比两个路径。如果路径不一致,即可确认是内核不匹配问题
- 修复步骤:
- 终端执行命令激活你安装了tensorflow-gpu的conda环境:
conda activate <你的环境名称> - 在该环境中安装ipykernel:
conda install ipykernel - 将当前环境注册为Jupyter内核:
python -m ipykernel install --user --name <你的环境名称> --display-name "Python (GPU-TF环境)" - 重启Jupyter,新建笔记本时选择刚才注册的「Python (GPU-TF环境)」内核即可。
- 终端执行命令激活你安装了tensorflow-gpu的conda环境:
2. Jupyter启动时未加载正确的环境变量
部分用户直接从快捷方式启动Jupyter,没有激活对应conda环境,导致CUDA、cuDNN的路径没有被加载到系统变量中,TensorFlow无法找到GPU依赖,自动降级为CPU模式。
- 排查步骤:分别在Python Shell和Jupyter中运行以下代码,对比CUDA、cuDNN的安装路径是否出现在Jupyter的变量输出中:
import os print(os.environ['PATH'])
- 修复步骤:
- 每次启动Jupyter前,先在终端激活对应conda环境,再执行
jupyter notebook启动,即可继承当前环境的所有变量配置。 - 如仍有问题,可在Jupyter代码开头手动追加CUDA路径:
import os # Windows示例,Linux下修改为LD_LIBRARY_PATH变量,路径替换为你本机CUDA、cuDNN的实际路径 os.environ['PATH'] = 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/bin;' + os.environ['PATH'] - 每次启动Jupyter前,先在终端激活对应conda环境,再执行
3. 同一环境下同时存在CPU版和GPU版TensorFlow
如果对应环境中同时安装了tensorflow(CPU版)和tensorflow-gpu包,Python会优先调用CPU版本,导致GPU无法被识别。
- 排查步骤:在Jupyter的终端中运行命令查看已安装的TensorFlow包:
pip list | findstr tensorflow # Windows用这个命令 # pip list | grep tensorflow # Linux/Mac用这个命令
- 修复步骤:完全卸载所有TensorFlow相关包后重新安装匹配CUDA版本的GPU版:
pip uninstall -y tensorflow tensorflow-gpu tensorflow-estimator tensorboard pip install tensorflow-gpu==<对应版本号>
内容的提问来源于stack exchange,提问作者Chandan Malla
相关产品推荐
相关产品推荐

