导入TensorFlow 1.7时Jupyter Notebook内核崩溃问题求助
我之前在老款MacBook上也碰到过几乎一模一样的问题!结合你的环境——Mid-2010款MacBook Pro(High Sierra 10.13.4)、Anaconda 5.1(Python3.6)、升级TensorFlow1.7后内核崩溃——大概率是硬件兼容性+版本适配的锅,给你几个亲测有效的解决方向:
你的Mid-2010款Mac用的是NVIDIA GeForce 320M显卡,这个显卡只支持CUDA Compute Capability 1.2,但TensorFlow从1.4版本开始就不再支持低于3.0的Compute Capability了,1.7更是彻底砍掉了对老架构的支持。所以直接降级到1.3版本(最后一个兼容老显卡的正式版)是最稳妥的:
- 先卸载当前的TensorFlow:
pip uninstall tensorflow -y - 安装1.3.0版本:
pip install tensorflow==1.3.0
如果你之前装的是GPU版,就替换成tensorflow-gpu==1.3.0,不过老Mac的GPU其实跑不动TensorFlow GPU版,更推荐用CPU版。
有时候重装Anaconda后,旧环境的残留依赖会搞事情,建议创建一个干净的虚拟环境:
- 创建指定Python版本的环境:
conda create -n tf_compat python=3.6 -y - 激活环境(Anaconda 5.1用这个命令):
source activate tf_compat - 安装Jupyter和TensorFlow:
conda install jupyter -y pip install tensorflow==1.3.0
之后在这个环境里启动Jupyter,再试import tensorflow as tf,应该就能正常运行了。
如果暂时不想降级,可以先强制TensorFlow跳过GPU检测(老显卡驱动和1.7不兼容是崩溃的核心原因之一):
在Jupyter的代码开头加上:
import os os.environ['CUDA_VISIBLE_DEVICES'] = '-1' # 彻底禁用GPU import tensorflow as tf
不过这个方法只是临时救急,TensorFlow1.7和High Sierra 10.13.4的底层依赖可能还是有冲突,长期用还是降级更靠谱。
你的Mac硬件确实比较老了,后续如果还要用机器学习框架,可以试试PyTorch——它对老硬件的兼容性比TensorFlow好不少;或者考虑TensorFlow Lite,轻量化版本对资源要求更低。
内容的提问来源于stack exchange,提问作者MD-ML

