因为我的电脑TensorFlow-CPU版本感觉运算速度不足,于是乎开始安装TensorFlow-GPU版本。这期间经历了许多坑,也因为各种原因尝试了安装TensorFlow和CUDA的许多版本,因此打算记录下来,作为分享。


安装Anaconda Navigator

Anaconda Navigator下载地址:Anaconda
选择python3.7版本安装

安装过程比较简单,需要注意的是在install这一步前,需要勾选第一项,否则需要手添加环境变量

安装完成后,验证是否安装成功:
在命令窗口输入:

conda --version

如果显示了版本,即表明安装成功。
然后为了以后在Anaconda中安装其他插件和环境的方便,我们需要修改下载的镜像地址,我们打开刚刚安装好的Anaconda中的 Anaconda Prompt,然后输入:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

安装CUDA® Toolkit+cuDNN

安装TensorFlow-GPU前,需要查看其相应版本所需要的CUDA版本,相应的网址:
TensorFlow官网

版本Python 版本编译器编译工具cuDNNCUDA
tensorflow_gpu-2.0.0-alpha02.7、3.3-3.6GCC 4.8Bazel 0.19.27.4.1以及更高版本CUDA 10.0 (需要 410.x 或更高版本)
tensorflow_gpu-1.14.02.7、3.3-3.6GCC 4.8Bazel 0.19.27.4.1以及更高版本CUDA 10.0 (需要 410.x 或更高版本)
tensorflow_gpu-1.13.02.7、3.3-3.6GCC 4.8Bazel 0.19.27.410.0
tensorflow_gpu-1.12.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.11.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.10.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.9.02.7、3.3-3.6GCC 4.8Bazel 0.11.079
tensorflow_gpu-1.8.02.7、3.3-3.6GCC 4.8Bazel 0.10.079
tensorflow_gpu-1.7.02.7、3.3-3.6GCC 4.8Bazel 0.9.079
tensorflow_gpu-1.6.02.7、3.3-3.6GCC 4.8Bazel 0.9.079
tensorflow_gpu-1.5.02.7、3.3-3.6GCC 4.8Bazel 0.8.079
tensorflow_gpu-1.4.02.7、3.3-3.6GCC 4.8Bazel 0.5.468
tensorflow_gpu-1.3.02.7、3.3-3.6GCC 4.8Bazel 0.4.568
tensorflow_gpu-1.2.02.7、3.3-3.6GCC 4.8Bazel 0.4.55.18
tensorflow_gpu-1.1.02.7、3.3-3.6GCC 4.8Bazel 0.4.25.18
tensorflow_gpu-1.0.02.7、3.3-3.6GCC 4.8Bazel 0.4.25.18

然后我们需要查看NVIDIA驱动版本,才能安装合适的CUDA版本。在C:\Program Files\NVIDIA Corporation\NVSMI目录下,打开命令行窗口,执行nvidia-smi.exe

如果电脑上没有NVSMI文件夹和nvidia-smi.exe文件,可以参照这里:
Windows NVIDIA Corporation下没有NVSMI文件夹解决方法
然后需要看CUDA对应的NVIDIA驱动版本,这里有一个对照表,参照表来安装相应的CUDA:

这个网址对应了官方的版本要求说明:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
确定好了需要安装的CUDA和cuDNN版本后,在以下网址下载CUDA和cuDNN:
CUDA:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN:https://developer.nvidia.com/cudnn
下载cuDNN需要NVIDIA账号,注册一个即可。
下载完成后,开始安装CUDA,打开下载好的安装程序,刚开始的安装程序临时存放位置,默认就好:

然后会检测系统兼容性,有些显卡是不支持GPU的,自己需要先查清楚。下一步接受协议,然后选择安装模式,选择自定义模式,程序默认的精简模式应该可以理解为安装所有东西,其中包括VS以及显卡驱动,所以我选择的是自定义模式。在自定义模式中,如果电脑上有VS,那么就去掉VS的安装;另外Driver Component和NVIDIA GeForce Experience也不用勾选。

然后会让你选择安装路径,建议C盘空间足够的同学就直接按照默认路径在C盘中安装了,安装在其他盘有可能出问题。
安装完成后,还需要配置环境变量。系统中会多出两个环境变量:

然后添加如下环境变量:

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0(这是默认安装位置的路径,如果自己路径设置安装成功的话就用自己的路径)

CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 

CUDA_BIN_PATH = %CUDA_PATH%\bin 

CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 

CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

添加完之后CUDA就算安装完成了。检验是否安装成功可以到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite(这是默认路径)中分别执行:

bandwidthTest.exe
deviceQuery.exe

如果分别返回:

在这里插入图片描述

则表示CUDA安装成功。接下来需要解压下载好的cuDNN,将里面的bin、include、lib/x64中的文件分别拷到安装好的CUDA文件夹里对应的bin、include、lib/x64文件夹中。至此就安装好了CUDA和对应的cuDNN。


切换CUDA和cuDNN版本

如果安装了错误的CUDA版本或者在之后需要更换CUDA和cuDNN相应的版本,其实方法比较简单,还是在CUDA和cuDNN的官网下载相应的版本,按照上文的方法安装后,只需要将相应环境变量(CUDA_SDK_PATHCUDA_PATH)修改为对应的版本即可。


安装TensorFlow-GPU

我们选择在Anaconda上安装TensorFlow-GPU,因为Anaconda可以独立的配置多个python环境,而互不影响,因此想换想改成其他版本都十分便捷。
首先通过

conda create -n tf python=3.6

创建一个专门用于TensorFlow的环境,然后

activate tf #进入tensorflow环境
deactivate  #退出tensorflow环境

进入这个环境。为了保证安装没有什么问题,建议更新pip和setuptool工具

python -m pip install --upgrade pip
pip install -–upgrade setuptools

然后就可以安装TensorFlow了:

pip install tensorflow-gpu  # stable
pip install tf-nightly-gpu  # preview
pip install tensorflow-gpu==2.0.0-beta1  #tensorflow2.0

安装完成后,进入python解释器,导入TensorFlow,如果导入成功即安装成功。


将Anaconda的TensorFlow环境导入到PyCharm

现在TensorFlow的环境已经搭好了,为了方便快捷的码代码,建议可以将Anaconda的TensorFlow环境导入到PyCharm(虽然Anaconda下的spider也可以用,但是建议PyCharm)。
打开PyCharm,在File->Setting中搜索Project Interpreter:

选择Add Local

在这里插入图片描述

然后添加刚刚建立的TensorFlow的环境的python.exe的地址:\Anaconda\envs\tf\python.exe。然后OKApply即可。

GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐