pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)

  • 写在开头
    • 小知识
    • 使用 cuda 编程的大致图谱
    • 名词解释
  • 从驱动到 cudnn 之全套安装
    • 查看你的cpu
    • 安装显卡驱动
    • 安装 CUDA Toolkit
    • 使用 cuDNN
  • 安装 pytorch
  • 安装 tensorflow
  • 源码安装 tensorflow
    • [详见官方文档 (这部分写废了,且实在没什么必要)]
    • 安装 bazel 和 msys2
    • 设置环境变量
    • 编译安装

写在开头

  cuda 各个版本的官方的安装指导,官方文档涵盖了 cuda8.0 到最新版本的安装指导。

小知识

  英伟达(nvidia)在人工智能时代获得了极大的成功,其重要原因在于他们软硬件一体的布局和率先占领市场的可编程软件架构 cuda(07 年,nvidia 就发布了 cuda 编程模型,从此开发人员可以使用 cuda 在 n 卡上进行并行编程)。cuda 对新手友好,且更新迅速,并针对图片和语音、并行计算、机器学习、深度学习、游戏渲染等方面发展了许多加速库(cudnn)、加速架构等等

使用 cuda 编程的大致图谱

加速库
显卡(nvidia gpus)
显卡驱动(cuda driver)
cudatoolkit
pytorch,tensorflow等高级推理模块
cudnn

  显卡:硬件层面 ;
  驱动:将操作系统和硬件相联系;
  CUDA:一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅;
  cudatoolkit:简单理解为用它来使用cuda,多个组件(包括compiler,tools, libraires, cuda samples, cuda driver);
  cudnn是nvidia专用于深度学习的cuda加速库,点击here了解更多;
  高级运算推理模块如pytorch,tensorflow直接使用。
  更多名词解释移步知乎某博士的解释,介绍较为详细,小白值得一看。

从驱动到 cudnn 之全套安装

  从上一小节我们知道了使用 cuda 编程的大致图谱,那么你可以参考以下的安装顺序,当然你可能已经安装了一两步比如你应该有显卡驱动,你可以参考官方的安装文档,官方文档涵盖了 cuda8.0 到最新的安装指导。

查看你的GPU

  首先确定你具有一块 CUDA-capable 的 GPU,你可以移步here查看你电脑 gpu 的 Compute Capabilitypytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第1张图片

安装显卡驱动

  显卡驱动应该是都有的,但是还是推荐你移步here,选择最新版本的驱动,这里的 type 可以选择不针对游戏的类型pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第2张图片

安装 vs

  cudn 需要 Visual Studio(MSVC 编译器)的支持(说实话我没安装这个照样用gpu的pytorch,但还是安装上吧),移步vs download page选择版本比较新的版本安装,下面以 cuda10.2 版本为例给出系统要求pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第3张图片pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第4张图片

CUDA 的版本要求

  可以选择只安装 MSBuild 和 MSVC,在 vs download page下拉至 All Downloads,点击 Tools for Visual Studio 2019 展开选择"Build Tools for Visual Studio 2019"下载安装,安装的时候选择 C++ build tools 即可(当然你可以手动选择在”individual components"里面手动选择)。 pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第5张图片 在这里插入图片描述 pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第6张图片  安装后找到刚才安装生成的“Developer Command Prompt for vs 2019",打开输入 cl.exe查看 C++ compiler 是否安装成功,给出一些 MSVC 的版本对照表:

MSVC++ 14.24 _MSC_VER == 1924 (Visual Studio 2019 version 16.4)
MSVC++ 14.23 _MSC_VER == 1923 (Visual Studio 2019 version 16.3)
MSVC++ 14.22 _MSC_VER == 1922 (Visual Studio 2019 version 16.2)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 version 16.1)
MSVC++ 14.2 _MSC_VER == 1920 (Visual Studio 2019 version 16.0)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 9.0 _MSC_FULL_VER == 150030729 (Visual Studio 2008, SP1)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)

安装 CUDA Toolkit

  你需要考虑你使用的 tensorflow 或者 pytorch 的版本

  至2020.7, pytorch 最高支持 cudatoolkit 10.2, tensorflow-gpu 支持 cudatoolkit10.1pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第7张图片

  不知道选哪个cuda版本建议安装 10.1 版本以便 pytorch 和 tensorflow 都可以使用 gpu 加速。点击here选择一个自己需要的版本。安装的时候选择自定义安装,可以自己选择安装的盘符,注意这里不需要自己添加环境变量,如果你之前安装了 cudatoolkit,会自动覆盖 CUDA_PATH 并将新的路径写进环境变量的 PATH 里(如果之前已经有 cudatoolkit 则会将新的 path 放置在原来 path 上方,这样系统检索的时候不会检索到下方的 pathpytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第8张图片
pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第9张图片
pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第10张图片

自己选择安装的路径,有三个目录需要选择,其实只需要安装 cuda development 就行(上面一步会让你选择)

pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第11张图片
最后安装的版本是 cudatoolkit10.2,其 path 在最上方

使用 cuDNN

  使用(Deep Learning Libraries),即常说的 cuDNN。点击here选择"Deep Learning",点击"NVIDIA cuDNN"下方的"Learn More"下载 cudnn,没有 nvdia 账号的话需要注册一个然后填一份问卷,有账号的话登进去就可以了。here是官方的安装教程pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第12张图片pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第13张图片下载后 cudnn 是一个压缩包,解压后有三个文件夹,分别将其拷贝到对应的 cuda 文件夹即可(自定义安装的文件夹自行修改):

  1. Copy \cuda\bin\cudnn*.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\bin.
  2. Copy \cuda\include\cudnn*.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\include.
  3. Copy \cuda\lib\x64\cudnn*.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x\lib\x64.
    pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第14张图片
      注意不是替换,将各自内容复制复制到对应的文件夹就行了。

安装 pytorch

  根据上文我们已经成功安装了 cuda 并使用了 cudnn 加速库,如果按照推荐安装了 cuda10.1及其对应的cudnn加速库,则直接参考官网命令安装即可pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第15张图片  命令行输入

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

  这里我加了一个 torchtext,这个有可能需要用到。下图可以看到确实选择到了 pytorch channelpytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第16张图片

安装 tensorflow

  由下图,我们直接根据对应的 cuda 版本来安装即可,命令行输入(版本自己注意,重要的是需要和自己的 cuda 以及 cudnn 版本相对应),上文推荐安装了 cuda10.1 和 cudnn8.0,因此直接安装最新版本的 tensorflow-gpu 即可

pip install tensorflow-gpu==2.3.0

  安装后在 python 环境中输入

import tensorflow as tf

  查看是否安装成功
pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第17张图片

源码安装 tensorflow

详见官方文档 (这部分写废了,而且也没有太多必要)

  下文完全按照官网的说法
  需要安装:python, msvc, bazel, cudnn, cuda,msys2

安装 bazel 和 msys2

  上文我们安装了 msvc, cudnn, cuda,现在需要安装 bazel 和 msys2

  1. 点击here下载 windows 版本的 bazel 将之改名为"bazel.exe"并添加到环境变量pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第18张图片
    命令行输入bazel version查看是否安装成功
  2. 点击here下载安装 msys2,安装后将"\msys64\usr\bin"添加至环境变量然后再 cmd 中运行
    pacman -S git patch unzip
    
    pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第19张图片
    (他给我安了一堆东西,什么 openssh,git,unzip 啥的……我本来就有,莫名其妙,幸亏没有自己设置环境变量的操作,不然我的 git,ssh 啥的都得乱套。。)

设置环境变量

  将 cudn 目录下的 bin, extras\CUPTI\lib64, include 添加到环境变量,你也可以用下面的命令行完成这个操作(注意修改路径)

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%

编译安装

  1. Download the TensorFlow source code
    git clone https://github.com/tensorflow/tensorflow.git
    cd tensorflow
    git checkout branch_name  # r1.9, r1.10, etc.
    
  2. configure the build
    python ./configure.py
    
    pytorch,tensorflow的gpu版本安装问题(windows系统,Nvidia显卡,cuda编程)_第20张图片
  3. build the pip package
    tensorflow 2.x
    bazel build //tensorflow/tools/pip_package:build_pip_package
    
    tensorflow 1.x
    bazel build --config=v1 //tensorflow/tools/pip_package:build_pip_package
    
    cpu-only
    bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
    
    gpu support
    bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
    
  4. build the package
    bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg
    
  5. install the package
    pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl
    

你可能感兴趣的:(pytorch,cuda,人工智能,tensorflow,深度学习,pytorch)