文章目录
1 确定电脑型号
电脑型号:微星(MSI)GL62VR 7RFX-848CN
系统:Windows10 64位
处理器:英特尔 Core i7-7700HQ
内存:16GB(8G+8G) (三星 DDR4 2400MHz)
显卡:英伟达Nvidia GeForce GTX 1060 6GB
Anaconda版本:Anaconda3-5.2.0-Windows-x86_64.exe
python版本:python 3.6.5
2 确定CUDA版本
打开英伟达控制面板
查看显卡支持的CUDA版本,GTX1060支持CUDA 9.0
Win10上搭建TensorFlow的开发环境需要至少需要安装3个软件,分别为:1.python,2.CUDA和CuDNN,3.TensorFlow(GPU版)。安装前一定要确认好每个软件的版本是否相互支持。
3 安装Anaconda
Anaconda包含了conda、Python等180多个科学包及其依赖项,能够避免很多依赖问题,功能十分强大。
Anaconda下载地址:https://www.anaconda.com/download/
4 TensorFlow安装前准备
参考:https://blog.csdn.net/u010099080/article/details/53418159
TensorFlow 有两个版本:CPU 版本和 GPU 版本。GPU 版本需要 CUDA 和 cuDNN 的支持,CPU 版本不需要。如果你要安装 GPU 版本,请先确认你的显卡支持 CUDA。我安装的是 GPU 版本,采用 pip 安装方式,所以就以 GPU 安装为例,CPU 版本只不过不需要安装 CUDA 和 cuDNN。
- 在这里确认你的显卡支持 CUDA。
- 确保你的 Python 版本是 3.5 64 位及以上。(TensorFlow 从 1.2 开始支持 Python 3.6,之前的官方是不支持的)
- 确保你有稳定的网络连接。
- 确保你的 pip 版本 >= 8.1。Windows10一般最开始pip版本在10以上,pip版本更新到最新可以到19版本。用
pip -V
或pip --version
查看当前 pip 版本,用python -m pip install -U pip
或python -m pip install --upgrade pip升级pip 。
以上条件符合,那么恭喜你可以开始下载CUDA 和cuDNN 的安装包了,注意版本号会由于 TensorFlow 不同版本有变化,此处请结合下面的安装CUDA和安装cuDNN说明)。
5 使用Anaconda虚拟一个TensorFlow环境
Anaconda软件安装完成后,打开Anaconda Prompt命令行工具。
- 检查安装是否安装成功:
conda --version
或conda -V
- 检查目前的安装环境:
conda info --envs
在没有虚拟出新的环境之前,只有一个base环境,在D:\ProgramData\Anaconda3下。 - 检查目前有哪些版本的python可以安装:
conda search --full-name python
一般能够显示出从python2到python3很多版本。 - 选择一个python版本安装(这里选择python3.5版本):
conda create --name tensorflow python=3.5
可以看到,默认安装的是python3.5.6版本和一些需要用到的包,输入y,回车后联网下载安装。
# To activate this environment, use
# 要激活此环境,请使用
# $ conda activate tensorflow
#
# To deactivate an active environment, use
# 要停用活动环境,请使用
# $ conda deactivate
在路径之前,可以看到,执行了conda activate tensorflow
虚拟环境由base转成了tensorflow
使用pip list
查看当前tensorflow虚拟环境下安装的包。
也可以指定python3.5.2版本,使用: conda create --name tensorflow python=3.5
输入python,进入python环境,可以看到,虚拟的python环境为python 3.5.6
6 安装 CUDA
参考网址:https://blog.csdn.net/weixin_39290638/article/details/80045236
由于CUDA Toolkit需要在指定版本显卡驱动环境下才能正常使用的,所以如果我们已经安装了nvidia显卡驱动(很显然,大部分人都安装了),再安装CUDA Toolkit时,会因二者版本不兼容而导致CUDA无法正常使用,这也就是很多人安装失败的原因。而CUDA Toolkit安装包中自带与之匹配的显卡驱动,所以务必要删除电脑先前的显卡驱动。
CUDA是NVIDIA推出的运算平台,CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案。在安装之前要查询下最新TensorFLow发行版支持到了哪个版本。笔者在安装TensorFLow时,CUDA已经到了9.1版本,但是TensorFLow1.7只支持到9.0版。另外,也要确认CUDA版本是否支持自己的显卡。笔者电脑的MX150只有CUDA9.0及以上的版本才支持。基于以上两个条件,笔者选择了CUDA9.0,并下载了对应的CuDNN版本。另外,笔者在后续的编程中发现tensorflow1.7只支持7.0的CuDNN。
1)GPU计算英伟达大多数显卡都支持,只不过计算能力不同。
显卡型号支持查询网址:https://developer.nvidia.com/cuda-gpus
GTX 1060属于GeForce系列,所以点击该链接。
可以看到笔记本电脑的支持型号和计算能力。
2)不同版本CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
GTX1060 显卡目前最高支持CUDA 9.2
网址:https://developer.nvidia.com/cuda-92-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
进入网址后选择系统平台Windows,系统版本windows10和本地local exe安装包。
下载后该文件可能在win10下不能打开,需要修改该文件的文件名,在文件名称后面加上.exe
变成exe安装文件,然后再双击文件进入安装界面。
安装软件会先运行一个系统检查,如果没有软硬件不兼容的情况就能继续进行下一步。若有不兼容情况,系统检查则会报错,无法进行下一步。如果报错了,就最先考虑下是不是自己的显卡不被该版本支持。
在选项着一栏选择自定义,否则安装程序会一股脑把里面所有软件包都给你装上。
在选择安装项时一般不安装GeForce Experience,CUDA是核心组件必须勾上,剩下两个选项的当前版本如果比新版本低的话也可以勾选上。接着点击下一步就开始安装了。
选择安装位置,这里我没有修改。
最后提示要安装VS,我没有管,直接勾了。
VS网址:https://visualstudio.microsoft.com/zh-hans/
然后结束。
安装过程屏幕可能会闪烁,不要紧,而且安装时间有点长。
安装完之后系统变量会自动为你添加上,这个不用管。
测试一下是否安装成功,命令行输入 nvcc -V
,看到版本信息就表示安装成功了。
8 安装cuDNN
cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download
(下载CuDNN需要注册账号,注册过程比较简单)
下载得到:cudnn-9.2-windows10-x64-v7.6.0.64.zip,其实是一个压缩包,解压放到任何一个目录下就行,然后把其中的bin
目录路径添加到Path环境变量
里。
把压缩包解压放在D:\ProgramData\cudnn-9.2-windows10-x64-v7.6.0.64\cuda
下
将D:\ProgramData\cudnn-9.2-windows10-x64-v7.6.0.64\cuda\bin
路径添加到环境变量,cuDNN应该就配置成功了。
9 安装TensorFlow
tensorflow、CUDA和cuDNN之间的对应关系:https://www.tensorflow.org/install/source
Windows系统
conda search --full-name tensorflow-gpu
由于Google已经把TensorFlow打成了一个pip安装包,所以现在可以用正常安装包的方式安装TensorFlow了,就是进入命令行执行下面这一条简单的语句:
# GPU版本
pip3 install --upgrade tensorflow-gpu
# CPU版本
pip3 install --upgrade tensorflow
使用这两个语句带有--upgrade
会自动升级到最新的tensorflow,可是有时候显卡的CUDA不支持最新tensorflow,所以这是一个坑。
使用pip install tensorflow-gpu--1.12.0
安装
然后就开始安装了,速度视网速而定。
9 卸载TensorFlow
在安装tensorflow-gpu时的截图,复制自:https://www.cnblogs.com/guoyaohua/p/9265268.html
可以看到安装的包有:
tensorflow-gpu
wheel
numpy
tensorboard
protobuf
termcolor
absl-py
gast
grpcio
six
astor
markdown
werkzeug
bleach
html5lib
setuptools
参考:https://blog.csdn.net/leitouguan8655/article/details/82897525
在Anaconda Prompt用python的pip可以安装特定版本的tensorflow,如:
pip install tensorflow-gpu==1.12.0
卸载特定版本的tensorflow,如:
pip uninstall tensorflow-gpu==1.12.0
升级到最新:
GPU版本:
pip install --upgrade tensorflow-gpu
CPU版本:
pip install--upgrade tensorflow
如何查看当前tensorflow版本:
python
import tensorflow as tf
tf.__version__
如何查看当前tensorflow的安装路径:
tf.__path__
CPU版本tensorflow安装
1 使用Anaconda虚拟一个TensorFlow环境
Anaconda软件安装完成后,打开Anaconda Prompt命令行工具。
- 检查conda安装是否安装成功:
conda --version
或者conda -V
- 检查目前的安装环境:
conda info --envs
在没有虚拟出新的环境之前,只有一个base环境,在D:\ProgramData\Anaconda3
下。 - 检查目前有哪些版本的python可以安装:
conda search --full-name python
一般能够显示出从python2.6.8-python2.7.16到python3.3.0-python3.7.7很多版本。 - 选择一个python版本安装(这里选择python3.6.0版本):
conda create --name tensorflow python=3.6.0
会安装
certifi
pip
python
setuptools
whell
wincertstore
等package。
在显示提示信息后,输入y确认安装则开始联网安装以上package。
安装完成后显示提示
# To activate this environment, use
# 要激活此环境,请使用
# $ conda activate tensorflow
#
# To deactivate an active environment, use
# 要停用活动环境,请使用
# $ conda deactivate
激活环境时显示如下:
在路径之前,可以看到,执行了conda activate tensorflow
虚拟环境由base转成了tensorflow
使用pip list
查看当前tensorflow虚拟环境下安装的包。
也可以指定其他python版本,使用: conda create --name tensorflow python=3.x.x
输入python,进入python环境,可以看到,虚拟的python环境为python 3.6.0
[外链图片转存失败(img-BrjcmFgC-1567960241052)(htt]
2 安装tensorflow CPU版本
先使用
conda activate tensorflow
命令进入虚拟的tensorflow环境
输入
pip install tensorflow # 安装默认版本的tensorflow,一般版本较高
pip install tensorflow==1.12.0 # 安装指定版本的tensorflow
安装CPU版本的tensorflow及其附带的包
等待安装完成后进入python交互环境中输入import tensorflow
不会报错。
3 报错的解决办法
3.1 protobuf包版本过高问题
如果发现导入时报错,报错内容显示有关protobuf包的内容,则可能是自动安装protobuf包时版本过高导致的,笔者最开始就遇到了这个问题。tensorflow版本1.13.1,protobuf版本3.8.0。
解决方法:在虚拟的tensorflow环境下,先卸载protobuf包
pip uninstall protobuf
将高版本的卸载。
安装低版本的
pip install protobuf==3.6.0
安装成功后会发现系统报错,要求在protobuf3.6.1版本以上能使用,但是这是个坑,安装protobuf3.6.1不行,protobuf3.6.0可以。
接下来导入tensorflow正常。
以下是我在使用python3.6.0虚拟tensorflow环境后,安装tensorflow后所有包的情况。
3.2 tensorflow版本问题
转自:https://blog.csdn.net/Fourierrr_/article/details/79749899
原文地址:https://stackoverflow.com/questions/47068709/your-cpu-supports-instructions-that-this-tensorflow-binary-was-not-compiled-to-u?answertab=votes#tab-top
使用TensorFlow模块时,弹出错误:
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
笔者遇到的是如下错误:
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
emsp; 原因是下载TensorFlow的版本不支持cpu的AVX2编译(我的tensorflow是使用pip install tensorflow==1.12.0
安装指定1.12.0版本的tensorflow)。
可能是因为安装时使用的pip install tensorflow
,这样默认会下载X86_64
的SIMD
版本。
有两种解决办法:
1.忽略这个警告,不看它!
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
参考:https://blog.csdn.net/hq86937375/article/details/79696023
emsp; 一般使用下边这两行代码即可。
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
2.彻底解决,换成支持cpu用AVX2编译的TensorFlow版本。
首先,卸载原来版本的TensorFlow
pip uninstall tensorflow
完成后可以用pip list
查看一下所有库,检查是否成功卸载。
然后去github下载正确的tensorflow版本,Windows点这里下载。其他操作系统可以点这里找到对应的版本。
笔者用的win10、python3.6、tensorflow1.12.0(与CUDA9.2版本相关),所以选择如下图:
具体网址:https://github.com/fo40225/tensorflow-windows-wheel/tree/master/1.12.0/py36/CPU/avx2
下载后在tensorflow虚拟环境(不是base)下,使用**pip install +路径
将whl文件安装,比如:
pip install F:tensorflow-1.12.0-cp36-cp36m-win_amd64.whl
成功安装本地刚才下载的tensorflow后,发现protobuf包又自动更新成了3.8.0版本。
还是和之前一样,卸载protobuf,安装3.6.0版本的,命令如下。
pip uninstall protobuf
pip install protobuf==3.6.0
再次运行TensorFlow就不会报错啦~
再虚拟一个环境名为tensorflow-gpu