安装tensorflow踩的坑

安装tensorflow踩的坑

在一台老笔记本上安装tensorflow。
环境:win7 X64,python37 X64,pycharm

一、python3用pip不能安装tensorflow

tensorflow还没有官方支持python3.7,pip是找不能tensorflow的。需要下载whl文件包手动安装。tensorflow是google人工智能出品,到google下需要*。但不*也可以下,有网上介绍说到清华镜像下载。上到清华镜像说,没了。然后到PYPI下载。tensorflow下载链接
下载后文件名: tensorflow-1.13.1-cp37-cp37m-win_amd64.whl 里边的cp37一定要与自己的python版本对应。不对应的话在PYPI里找对应的老版本。
然后 pip.exe install tensorflow-1.13.1-cp37-cp37m-win_amd64.whl

二、protobuf版本问题

正常情况下就可以跑啦。但就是遇到不正常的情况了。
报错:
ImportError: DLL load failed with error code -1073741795
Failed to load the native TensorFlow runtime.
网友lijil168 分享说protobuf版本不兼容,让换成老版本的。
protobuf各版本下载链接
pip.exe install protobuf==3.6.0
我本机原来装的3.8.0版本,我一个一个地降版本测试,一直测到3.6.0。都同样的报错。
说明:其实这是我电脑硬件的问题,后边再细说。正常情况下,这样修改protobuf版本后就能正常运行了。

三、tensorflow版本和硬件问题

又继续搜索,在网友secondsilverman 这里找到答案。
新版本tensorflow会使用AVX指令,所以在旧CPU上不能运行。解决办法:
1、使用旧版tensorflow。
2、使用@fo40225的重新编译好的版本。
关于此的讨论,可参考tensorflow的issue
我使用重新编译的版本,下载的是这个: tensorflow-windows-wheel/1.13.1/py37/CPU/sse2/tensorflow-1.13.1-cp37-cp37m-win_amd64.whl
可根据自己的硬件情况,对比它的README下载相应版本。

四、删除原版本的tensorflow后装重新编译过的版本

1、 pip.exe list
安装tensorflow踩的坑
图片里的三个都要删除。
2、pip.exe uninstall tensorflow
3、安装重新编译过的版本

五、跑起来啦

安装tensorflow踩的坑还是有报错,但不影响使用。
由于我是初步训练模型,所以请忽略一堆loss。

老电脑跑tensorflow真的很吃力啊,我这还只是用于验证码自动识别,图片很小很小!!!还是要用好的配置。最好是高配台式机。