Failed to load the native TensorFlow runtime问题描述
安装过tensorflow-gpu之后,在import的时候会报Failed to load the native TensorFlow runtime
的错误。
解决方案
- 如果你是误装了gpu版本(大概率应该不会),用下面的命令重装一个cpu版本的tensorflow,基本就不会报错了。
pip uninstall tensorflow-gpu pip install tensorflow==<required_version>
- 用conda重装tensorflow,一定一定不要用pip装
pip uninstall tensorflow-gpu conda install tensorflow-gpu==<required_version>
解释
这个问题具体为啥确实不清楚,对底层不太熟悉。大概应该是因为缺少依赖,还有的相似的问题,可能是因为tensorflow和你的cuda版本不匹配。比如我的电脑上cuda就是10.2版本的,但是需要的tensorflow版本只支持到cuda10.0。如果你用pip安装,这种情况下你就要手动重新配cuda,但是用conda安装,他会自动帮你把需要的cudatoolkit一起安装上。这是我用conda安装时,自动装下来的包,可以看到第五行有cudatoolkit。
再有就是,虽然说tensorflow好像不支持cuda10.2,但是1.14.0版本的tensorflow用conda装完可以正常运行。
具体解释看知乎这个链接:https://www.zhihu.com/question/365667275
The following NEW packages will be INSTALLED:
_tflow_select: 2.1.0-gpu
absl-py: 0.15.0-pyhd3eb1b0_0
astor: 0.8.1-py36haa95532_0
coverage: 5.5-py36h2bbff1b_2
cudatoolkit: 10.0.130-0
cudnn: 7.6.5-cuda10.0_0
cython: 0.29.24-py36hd77b12b_0
dataclasses: 0.8-pyh4f3eec9_6
gast: 0.5.3-pyhd3eb1b0_0
grpcio: 1.36.1-py36hc60d5dd_1
h5py: 2.8.0-py36hf7173ca_2
importlib-metadata: 4.8.1-py36haa95532_0
keras-applications: 1.0.8-py_1
keras-preprocessing: 1.1.2-pyhd3eb1b0_0
libprotobuf: 3.17.2-h23ce68f_1
markdown: 3.3.4-py36haa95532_0
protobuf: 3.17.2-py36hd77b12b_0
scipy: 1.5.2-py36h9439919_0
tensorboard: 1.14.0-py36he3c9ec2_0
tensorflow: 1.14.0-gpu_py36h305fd99_0
tensorflow-base: 1.14.0-gpu_py36h55fc52a_0
tensorflow-estimator: 1.14.0-py_0
tensorflow-gpu: 1.14.0-h0d30ee6_0
termcolor: 1.1.0-py36haa95532_1
typing_extensions: 3.10.0.2-pyh06a4308_0
werkzeug: 2.0.3-pyhd3eb1b0_0
wrapt: 1.12.1-py36he774522_1
zipp: 3.6.0-pyhd3eb1b0_0
Proceed ([y]/n)? y
总结
大家装这些包的时候能用conda装尽量用conda装。conda install
会帮你把需要的依赖一起安装好,而pip install
只会帮你装一个你指定的包。
Process finished with exit code -1073741819 (0xC0000005)问题描述
conda安装完tensorflow-gpu之后,新的问题又出来了,导入tensorflow之后pycharm里会报出上述错误。如果在命令行里跑交互环境,则会直接退出python交互。
解决方案
# 这里只安装卸载一个包,所以用pip问题不大,要是安装tensorflow这种大的包,还是建议用conda
pip uninstall h5py
pip install h5py==2.9.0
解释
因为h5py的版本不匹配,我用conda自动装下来的版本太低,升级到2.9.0版本就好了。也有的问题可能是版本过高,需要降级到2.9.0。
如果解决不了,其他情况可以参考这个博客
https://blog.csdn.net/qiao1025566574/article/details/81037908