解决import tensorflow导致jupyter内核死亡的问题

时间:2021-08-28 23:12:29

今日重装gpu版tensorflow后出现问题,jupyter notebook中import tensorflow运行以后内核死亡。开始以为版本不兼容,于是将conda中全部内容升级了一遍发现还是存在问题,并不管用。于是去查报错信息。

在我很少去看的jupyter的终端中得到一个warning。

解决import tensorflow导致jupyter内核死亡的问题

显示hdf5版本不匹配导致的错误。

网上大致有两种解决方法:

1.指定版本安装

2.

?
1
2
pip uninstall h5py
pip install h5py

我开始使用的第一种方法,用conda命令重装。发现安装以后,虽然warning问题解决了,但是tf和keras莫名其妙消失了。。。。

解决import tensorflow导致jupyter内核死亡的问题

conda list中也不显示!但显然这些都是安装过的包,不能理解发生了什么。

于是尝试第二种方法。问题得以解决。

补充:jupyter notebook中使用tensorflow-gpu常常出现的问题

问题1:

kernel restarting the kernel appears to have died. it will restart automatically

解决方法:

如果是在装有gpu的服务器上搭建的jupyter notebook,并且使用的tensorflow可以通过在session的前面加上config来解决这个问题,亲自试过可行(我觉得主要问题是在此之前都是在cpu上运行的程序,造成内存不足,所以导致的kernel died,如果查看在代码运行的时候内存占用情况可以使用free -h):

?
1
2
3
config = tf.configproto()
config.gpu_options.allow_growth = true
sess = tf.session(config=config)

问题2:

warning:tensorflow:from /root/anaconda3/lib/python3.6/site-packages/tensorflow/python/keras/layers/core.py:143: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.instructions for updating: please use `rate` instead of `keep_prob`. rate should be set to `rate = 1 - keep_prob`.

warning:tensorflow:from /root/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.instructions for updating: use tf.cast instead.

warning:tensorflow:from /root/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/math_grad.py:102: div (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version. instructions for updating: deprecated in favor of operator or tf.math.divide.

解决方法:

发生这种问题的主要原因可能是anaconda版本问题,或者是其他版本问题造成的版本不兼容。使用以下指令进行相应的更新。亲自尝试可行。

?
1
2
3
4
conda update mkl
conda upgrade notebook
conda upgrade jupyter
conda update anaconda

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/dysljxjsq/article/details/106270111