前言:
之前安装的 CPU 版本的 tensorflow 一直出问题,索性就直接安装 GPU 版本的 tensorflow 了(有了GPU 就不能浪费)。
安装过程:
1)看自己有无 GPU,找到对应 GPU 的版本:任务管理器 => 性能 => GPU
然后在 Anaconda Prompt
里面输入 nvidia-smi
来检查是否含有英伟达驱动,若没有则需要在 英伟达官网 安装驱动:
下载好了驱动之后,在 cmd 中输入命令 nvidia-smi
:
2)在虚拟环境中安装 GPU 加速软件包 cuDNN、CUDA:
首先根据官网 https://tensorflow.google.cn/install/source_windows?hl=en#gpu 来确定 tensorflow、cuDNN、CUDA 的对应关系:
然后根据网站 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 来确定自己的 GPU 所支持的 CUDA 版本:
这里我安装的是 tensorflow-gpu==2.1、cuDNN=7.6、CUDA=10.1
# 创建名为 tensorflow 的虚拟环境,其 python 版本为 3.7
conda create -n tensorflow python=3.7
# 进入 tensorflow 的虚拟环境
conda activate tensorflow
# 安装英伟达的SDK10.1版本
conda install cudatoolkit=10.1
# 安装英伟达深度学习软件包7.6版本
conda install cudnn=7.6
# 安装 tensorflow-gpu 指定 2.1 版本
pip install tensorflow-gpu==2.1
2.0以后tensorflow和tensorflow-gpu有啥区别:conda 装东西总是喜欢检查环境中所有包的依赖关系,当你装了 tensorflow 再用 conda 装matplotlib,就把 tensorflow 的 numpy 包给替换了,造成使用 tensorflow 后报 numpy 错误。因为安装软件包的话,能用 pip install xxx 装尽量用 pip,少用 conda install xxx。