TensorFlow1.13.1安装指南

现在TensorFlow已经更新到2.8版本了,心血来潮想安装个旧版本的TensorFlow发现会出现各种bug,开篇博客集中记录一下。
问题主要原因:即是现在下载的各种安装包或库的版本太高,对低版本TensorFlow兼容性较差。
解决方案:安装适当版本的安装包和库。

库版本简单描述
numpy==1.16.5
grpcio==1.36.1
tensorflow==1.13.1

安装包/库版本
numpy1.16.5
grpcio1.36.1
tensorflow1.13.1

建议虚拟环境下按以下顺序执行

  1. pip install numpy==1.16.5
  2. pip install --upgrade pip
  3. pip install --upgrade setuptools
  4. pip install --no-cache-dir --force-reinstall -Iv grpcio==1.36.1
  5. pip install tensorflow==1.13.1

可加后缀从豆瓣镜像库安装-i http://pypi.douban.com/simple --trusted-host=pypi.douban.com
安装后根据错误2找到对应版本tensorflow,或可直接安装对应版本tensorflow。

安装后可测试tensorflow是否安装成功。

import tensorflow as tf

hello=tf.constant('hello,world')
sess=tf.Session()
print(sess.run(hello))

安装中会遇到许许多多错误,整理如下:

错误代码1

问题来源

安装Tensorflow时,报Error:

      ERROR: Failed building wheel for grpcio
      Running setup.py clean for grpcio
    Failed to build grpcio

报不能打包成wheel,从setpu.py安装,然后一直会卡住

问题原因

Unable to install grpcio using pip install grpcio
grpcio库安装不了

解决方法

升级pip,升级setuptools,更新适当版本(grpcio==1.36.1)的grpcio库。
pip3 install --upgrade pip
python3 -m pip install --upgrade setuptools
pip3 install --no-cache-dir --force-reinstall -Iv grpcio==<version_number>
参考了此网址答案https://stackoverflow.com/questions/56357794/unable-to-install-grpcio-using-pip-install-grpcio

错误代码2

问题来源

安装Tensorflow后,执行import tensorflow as tf时,报Warning:

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

问题原因

pip直接安装的库和电脑配置配合不默契,可以安装适配的版本。
网上的一些方法是屏蔽掉警告。
研究了一下发现可以完全解决,还能提升cpu运算速度(然并卵,还是gpu好用 )。

解决方法

到这个地址:https://github.com/lakshayg/tensorflow-build
或者这个:https://github.com/fo40225/tensorflow-windows-wheel
根据自己的python版本,gpu能力(或没有),cpu支持( SSE4.1,SSE4.2,AVX,AVX2,FMA)
找到对应的.whl文件
我的电脑是AMD的CPU,有AVX2加速
下载后,安装离线包
pip install C:\python\tensorflow-1.13.1-cp37-cp37m-win_amd64
再运行tensorflow程序就没有警告了

也可以选择欺骗自己
也可以选择第二种方法,屏蔽掉错误信息

import os  
os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # 这是默认的显示等级,显示所有信息  
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error   
os.environ["TF_CPP_MIN_LOG_LEVEL"]='3' # 只显示 Error 

参考网友的评论解释:这个意思其实是,您下载的TensorFlow太low了,根本没有通过兼容AVX来Compile。如果您下载源代码在该电脑上重新compile,就可以支持AVX。其实你的电脑是支持AVX的,只是编译好的TensorFlow不支持。
在代码最顶行写入

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

此方法,可以临时屏蔽警告信息,看起来舒服了一些。

错误代码3

问题来源

安装Tensorflow时,报Error:

ModuleNotFoundError: No module named ‘pip’

问题原因

pip出现未知缺失。

解决方法

重新安装pip即可。
执行
python -m ensurepip
python -m pip install --upgrade pip
如果需要对pip进行降级
python -m pip install pip==8.0.0

错误代码4

问题来源

安装Tensorflow后,执行import tensorflow as tf时,报Warning:

FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.   np_resource = np.dtype([("resource", np.ubyte, 1)])

问题原因

numpy版本过高。

解决方法

安装低版本的numpy即可。
执行
pip install numpy==1.16.5

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐