导入tensorflow库 python就停止工作

导入tensorflow库 python就停止工作

(在jupyter中提示python kernel died, restarting )

具体情况:

windows操作系统下用anaconda安装的python。本来在jupyter notebook(包括jupyter lab)和spyder上运行tensorflow框架内的东西都没有问题,我也不知道自己做了什么,突然就出现只要导入tensorflow(不管是直接import还是只导入它的某个函数(方法))python就挂掉的问题。

走过的弯路:

1、更改tensorflow的版本(来源"Kernel died, restarting..." repeats until I close Spyder. · Issue #3506 · spyder-ide/spyder

):pip install tensorflow==1.5 没有用。

2、卸载从新安装tensorflow,没有用。

3、用google云平台里的产品CLOUD DATALAB暂解燃眉之急,但是鉴于大陆翻墙问题和账号申请困难(账号申请时大陆的很多银行卡是不识别的),另外使用的价格也有点小贵,所以暂不推荐。另外,AWS上也有类似的东西,但没有亲身体验过,就不多说。

https://cloud.google.com/datalab/?authuser=0cloud.google.com

结果:

并没有弄清楚为什么tensorflow突然就和python不和了。但是找到了一个曲线救国的办法,参考:(tensorflow安装完成但是import出错 - 神经网络与深度学习-炼数成金-Dataguru专业数据分析社区)。用conda创建一个新的python环境,然后在新环境中安装tensorflow后就可以运行了,所以怀疑原因是tensorflow与我安装的其他的库有冲突(只是弱弱的怀疑)。


解决方法的具体步骤(windows环境下进行的):

1、用conda创建名字为mytensorflow的新环境

这个是网友翻译的关于anaconda多环境工作的官网文件,对英文不太熟悉的同学值得参考

Anaconda多环境多版本python配置指导www.jianshu.com

这个是anaconda的官方文件(英文版)

Managing environmentsdocs.conda.io

查看电脑的canda环境和版本

conda  info --envs

base是安装anaconda后默认创建的环境

conda --version


创建名字为mytensorflow python版本为3.5的新环境

conda create --name mytensorflow python=3.5

创建环境后在用命令conda info --envs查看,星号代表正在运行的环境,

2、激活刚刚创建的新环境

activate mytensorflow

有命令conda info --envs查看,星号代表正在运行的环境

环境已经激活。

3、在新环境中安装tensorflow

查看Anaconda repository中我们可利用的版本

conda search tensorflow

安装tensorflow

conda install tensorflow

4、在新创建的环境mytensorflow中安装jupyter lab(包含jupyter notebook)

如果已经安装了jupyter lab(notebook)可以参考下面这个文章的做法:

品颜完月:安装OpenCV--conda建立虚拟环境 安装OpenCV 启动jupyter lab运行此环境zhuanlan.zhihu.com图标

在下常用jupyter lab,所以就只做jupyter lab的安装演示了。

点击Anaconda Navigator 后出现下面的界面,然后在这个界面中完成安装。


5、jupyter lab成功启动,并可以调用tensorflow库函数,并正常运行。

编辑于 2019-04-28

文章被以下专栏收录