Visual Studio 2019下配置 CUDA 10.1 + TensorFlow-GPU 1.14.0

 更新时间:2020年03月12日 11:41:34   作者:Regan_Chai  
这篇文章主要介绍了Visual Studio 2019下配置 CUDA 10.1 + TensorFlow-GPU 1.14.0,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

环境

Windows 10 64位

Visaul Studio 2019

Anaconda 1.9.7

Python 3.7

CUDA Toolkit 10.1.120

CUDNN 7.6.1.34

TensorFlow-GPU 1.14.0

1. 安装 Visual Studio 2019

   VS号称宇宙最强IDE,接触以来从未让人失望过,可直接在官网下载。 从 Visual Studio 2017 开始,就集成了Python模块用于对机器学习的支持,其安装方式也新增了在线安装,安装时可以选择需要的组件进行安装即可,只是时间略久。安装界面如下:

  

在 单个组件 中可以选择安装 Python 3.7 版本,但是后续需要安装 Anaconda ,为方便对 包 统一管理以及环境搭建,此处可以略过。


注:选择安装位置时,记住 共享组件、工具和SDK 的位置,后面安装 Anaconda 时会用到。

2. 安装 CUDA

(1) CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。首先需要查看自己电脑的N卡支持的 CUDA 版本,打开 NVIDIA 控制面板——帮助——系统信息——组件:


  博主的 NVCUDA 版本为 10.1.120,因此下载 CUDA 10.1 的 版本。


  安装类型包括 在线安装 和 本地安装,在网速允许的情况下可以选择在线安装。

(2) 在安装之前,要先关闭安全软件,否则很可能提示组件安装失败。 安装空间大概一个多G,要是C盘空间足够,最好选择默认的安装位置,避免不必要的环境配置问题,默认安装位置为 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1。

(3) 接下来需要添加一波环境变量

$ CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
$ CUDA_PATH_V10_1: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
$ CUDA_BIN_PATH: %CUDA_PATH%\bin 
$ CUDA_LIB_PATH: %CUDA_PATH%\lib\x64 
$ CUDA_SDK_PATH: C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
$ CUDA_SDK_BIN_PATH: %CUDA_SDK_PATH%\bin\win64 
$ CUDA_SDK_LIB_PATH: %CUDA_SDK_PATH%\common\lib\x64

然后在 系统变量 的 Path —— 新建,添加四条信息

$ %CUDA_BIN_PATH%
$ %CUDA_LIB_PATH%
$ %CUDA_SDK_BIN_PATH%
$ %CUDA_SDK_LIB_PATH%

(4) 配置完成后,使用 CUDA 的内置工具验证配置是否成功。win+R 启动 cmd,然后 cd 到安装目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite 下,分别执行 deviceQuery.exe 和 bandwidthTest.exe,输出信息如下:



若上述都返回 Result = PASS,则表示 CUDA 配置成功。

3. 安装 CUDNN

(1) 选择与 CUDA 版本想匹配的 cuDNN 版本。在下载时需要先在官网进行注册。


(2) 将下载文件解压缩,然后把里面 bin、include 以及 lib 文件夹中的文件分别复制到 CUDA 安装目录 的 bin、include 以及 lib 文件夹下面。

4. 安装 Anaconda

(1) Anaconda 提供了包含 Python在内的180多个科学包及其依赖项,直接在 Anaconda 官网 选择下载最新版本。


(2) 为了避免在 Visual Studio 2019 IDE 中配置 Anaconda,直接将其安装在 VS 的共享路径下面。博主的VS 安装目录为 D:\Microsoft Visual Studio ,共享路径为 D:\Program Files (x86)\Microsoft Visual Studio\Shared。

(3) 打开 Visual Studio 2019 ,新建一个 Python 项目,View —— Other Windows —— Python Environments,此时会显示 Anaconda 的安装环境。


此时默认的环境名称为 Anaconda 2019.03,强迫症患者表示很不爽,可以在注册表更改显示名称。

   1)打开注册表:win + R —— regedit

   2)导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Python(32 位解释器)

        或 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python(64 位解释器)

   3)展开与分发匹配的节点,Anaconda 为 ContinuumAnalytics

   4)修改 DisplayName 对应的数值数据,如 Anaconda37。此时 VS 中 Python 环境的名称也将相应被更改。

5. 安装 TensorFlow-GPU

(1) 如果直接用命令行的形式在线下载安装,其下载版本可能与 CUDA 版本不兼容。也可以在 Anaconda Navigator 中安装TensorFlow , 但是其版本为1.9.0。本博文安装最新的版本【截至更博日期,最新版本为TensorFlow 1.14.0 Stable 和 TensorFlow 2.0 Beta】,因此,本文下载 GitHub 大神 的 whl 文件。保存在本地任意位置(博主的地址为:D:\AppPackages\TensorFlow)。

(2) 在 VS 的 Python Environments 中点击 Open in PowerShell


(3) 在命令行输入安装指令:pip install D:\AppPackages\TensorFlow\tensorflow_gpu-1.14.0-cp37-cp37m-win_amd64.whl

6. 验证测试

在工程 .py 文件中输入代码:

import tensorflow as tf
import os

#os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'

greeting = tf.constant('Hello Google Tensorflow!')
sess = tf.compat.v1.Session()
result = sess.run(greeting)
print(result)
sess.close()

若控制台输出 GPU 相关信息 以及代码的输出信息 b'Hello Google Tensorflow!',则环境搭建成功!

Note: tensorflow_gpu-1.14.0 中弃用了部分代码的接口,改用新的接口,如 tf.Session() 改为 tf.compat.v1.Session(),tf.placeholder 改为 tf.compat.v1.placeholder 。

到此这篇关于Visual Studio 2019下配置 CUDA 10.1 + TensorFlow-GPU 1.14.0的文章就介绍到这了,更多相关Visual Studio 2019配置CUDA TensorFlow-GPU内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java C++ 题解leetcode857雇佣K名工人最低成本vector pair

    Java C++ 题解leetcode857雇佣K名工人最低成本vector pair

    这篇文章主要为大家介绍了Java C++ 题解leetcode857雇佣K名工人最低成本vector pair示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 基于C语言的库封装发布技术详解

    基于C语言的库封装发布技术详解

    在编程的过程中,使用已经封装好的库函数是十分方便的,也是十分高效的,这篇文章主要给大家介绍了关于C语言库的封装和使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • C语言实现教务管理系统

    C语言实现教务管理系统

    这篇文章主要为大家详细介绍了C语言实现教务管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++17结构化绑定的实现

    C++17结构化绑定的实现

    这篇文章主要介绍了C++17结构化绑定的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • C++中的引用与高级函数详解

    C++中的引用与高级函数详解

    这篇文章主要介绍了C++中的引用与高级函数详解,概念:引用是为已存在的变量取了一个别名,引用和引用的变量共用同一块内存空间,需要的朋友可以参考下
    2023-07-07
  • C语言 选择排序算法详解及实现代码

    C语言 选择排序算法详解及实现代码

    本文主要介绍C语言 选择排序算法,这里对排序算法做了详细说明,并附代码示例,有需要的小伙伴可以参考下
    2016-08-08
  • C语言深入探究自定义类型之结构体与枚举及联合

    C语言深入探究自定义类型之结构体与枚举及联合

    今天我们来学习一下自定义类型,自定义类型包括结构体、枚举、联合体,小编觉得挺不错的,现在就分享给大家,也给大家做个参考
    2022-05-05
  • C语言中结构体封装全局变量用法说明

    C语言中结构体封装全局变量用法说明

    这篇文章主要介绍了C语言中结构体封装全局变量用法说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 一文详解Qt如何优雅的进行界面布局

    一文详解Qt如何优雅的进行界面布局

    使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的,这种设定⽅式其实并不⽅便,尤其是界⾯如果内容⽐较多, 不好计算,所以Qt 引⼊ 布局管理器 (Layout) 机制, 来解决上述问题,需要的朋友可以参考下
    2024-05-05
  • C++集体数据交换实现示例讲解

    C++集体数据交换实现示例讲解

    这篇文章主要介绍了C++集体数据交换实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11

最新评论