安装步骤

  • 1.确认自己的显卡支持CUDA
  • 2.下载并安装 Visual Studio
  • 3.下载并安装Anaconda
  • 4.下载并安装CUDA
  • 5.下载并安装cudnn
  • 6.下载和安装Tensorflow



本人本是电脑小白一枚,因为用深度学习处理图像需要用到GPU版本的tensorflow,无奈看遍全网安装教程,踩遍所有会踩的坑,故在此写下一些安装注意事项(辛酸史),方便遇到和我一样问题的朋友解决问题(其实是为了自己以后重装的时候不用再查资料),有问题的地方也希望有朋友指出。

安装GPU版本的Tensorflow需要的环境配置Visual Studio 2013及以上,Anaconda,Cuda和cudnn,较新版本的显卡驱动。关于Cuda,cundnn,显卡驱动以及Tensorflow的关系可参考这篇博客。

1.确认自己的显卡支持CUDA

(1)查看自己电脑显卡的型号:右键“此电脑”->“属性”->“设备管理器”->“显示适配器”即可查看。

tensorflow_gpu 清华 tensorflow2.0 gpu_gpu

由此可知本人的NVIDIA显卡型号为GeForce MX150

(2)打开网址找到对应的显卡:https://developer.nvidia.com/cuda-gpus

tensorflow_gpu 清华 tensorflow2.0 gpu_gpu_02

但在此列表中并未找到本人电脑所具有的显卡型号。但不要忙下结论,一番检索后我发现GeForce MX150是支持cuda的。

tensorflow_gpu 清华 tensorflow2.0 gpu_tensorflow_gpu 清华_03

可在https://www.geforce.cn/hardware/notebook-gpus此网站查询GeForce显卡的特性。

2.下载并安装 Visual Studio

以下下载及安装步骤均可参考此文章https://www.sohu.com/a/323645104_100058348。故下面只列出本人觉得需要注意的地方。

3.下载并安装Anaconda

下载地址:https://www.anaconda.com/distribution 本人安装的是当前的最新版本Anaconda3-2020.02-Windows-x86_64。

(1)安装启动前若不勾选上第一项,则需在软件安装完成手动添加环境变量,故建议勾选。

tensorflow_gpu 清华 tensorflow2.0 gpu_cuda_04


(2)上链接中“1. Anaconda b. 修改路径 c. 修改默认浏览器”是对Jupyter Notebook进行了设置。

4.下载并安装CUDA

(1)CUDA的版本要被电脑的显卡支持。据说MX150只有CUDA9.0及以上的版本才支持,故本人下载并安装的是CUDA10.0

tensorflow_gpu 清华 tensorflow2.0 gpu_tensorflow_05

(2)因为不知道自己电脑上有没有Visual Studio Integration故本人未取消勾选Visual Studio Integration。

5.下载并安装cudnn

(1)下载cudnn需要注册一个账号不过很容易。

(2)按需下载和CUDA对应的cudnn

tensorflow_gpu 清华 tensorflow2.0 gpu_深度学习_06

6.下载和安装Tensorflow

(1) 用pip下载tensorflow可使用清华镜像速度更快。

pip install tensorflow-gpu==2.0.0-beta0 -i https://pypi.tuna.tsinghua.edu.cn/simple

(2) 按照上面链接的教程操作后不知道为什么本人在import tensorflow后出现了FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecate的错误,解决方法可参考

(3)就在我以为万事俱备的时候结果调用tf.test.is_gpu_available()给我整出来个Faulse,我真心凉了半截,折腾一番后在“设备管理器”中查看发现是显卡出了问题。

tensorflow_gpu 清华 tensorflow2.0 gpu_cuda_07


大胆揣测是驱动的版本不够,于是去https://www.nvidia.cn/geforce/drivers/下载了对应显卡最新版本的驱动安装后果然“设备状态”就显示“这个设备运转正常。”了。再次调用tf.test.is_gpu_available()返回的结果就是True了。