深度学习框架 TensorFlow - 初探

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013985879/article/details/82809511

硬件:

1.win10(64-bit)

2.Python 3.6.5

3.CUDA9.2

4.cuDNN 7.1.4

5.Tensorflow-gpu 1.9

6.Anaconda3 (安装相关介绍)  

7.Visual Studio 2017(v15.8.1) #内容可忽略

一.安装CUDA9.2 

CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA™架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA™的处理器上以超高性能运行。 

CUDA Toolkit 10.0 Download 

(截止18.09.22,10.0版本已发布,但不推荐10.0,因为没有对应版本的cuDNN)

设置环境变量

额外补充的环境变量

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.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\v10.0\extras\demo_suite

这个目录下有deviceQuery.exe 和 bandwidthTest.exe两个exe 程序, 

DOS 窗口下分别运行,如果显示Result = PASS ,则说明通过

bandwidthTest.jpeg
deviceQuery.jpeg

推荐 安装CUDA9.2

补充说明:

我在刚开始安装CUDA9.0的时候遇到了如下问题:The graphics driver could not find compatible graphics hardware。这个问题的主要原因是你本机的显卡驱动版本比CUDA9.0中自带的驱动版本高(实际上,不论CUDA装的哪个版本,只要本机驱动比CUDA自带驱动版本高,都可能出现这个问题)。

解决办法:

1.安装CUDA10.0(没有对应版本的cuDNN) 或者 CUDA9.2

2.点击继续—>同意并继续—>自定义(高级)—>只选择CUDA进行安装,最后安装成功,

   在自定义界面可以看到CUDA自带驱动版本号以及目前本机驱动版本号,如果本机版本号高于CUDA自带版本号,就不要再勾选安装了

二.安装CuDNN

     cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程。

cuDNN只是NVIDIA深度神经网络软件开发包中的其中一种加速库.

官网地址cuDNN

1、cuDNN下载,下载时需要注册(亲测 ● 无法注册),

      建议如上图所示 cuDNN v7.1.4 Library for Windows 10 右击,复制链接地址,用迅雷下载

2、解压压缩包,把压缩包中 bin,include,lib 中的文件分别拷贝到

     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2  目录下对应目录中

3、把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64\cupti64_92.dll

     拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin

至此,cuDNN安装完毕

三.使用Visual Studio 2017(v15.8.1)

利用VS2017编译测试文件 打开C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2,

找到对应VS版本的sample,本例中为Samples_vs2017.sln,双击打开

1.

#error: -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!

修改C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include\crt 中的 host_config.h 文件 ,改为1930(1920还是error)

MSC    1.0   _MSC_VER == 100
MSC    2.0   _MSC_VER == 200
MSC    3.0   _MSC_VER == 300
MSC    4.0   _MSC_VER == 400
MSC    5.0   _MSC_VER == 500
MSC    6.0   _MSC_VER == 600
MSC    7.0   _MSC_VER == 700
MSVC++ 1.0   _MSC_VER == 800
MSVC++ 2.0   _MSC_VER == 900
MSVC++ 4.0   _MSC_VER == 1000 (Developer Studio 4.0)
MSVC++ 4.2   _MSC_VER == 1020 (Developer Studio 4.2)
MSVC++ 5.0   _MSC_VER == 1100 (Visual Studio 97 version 5.0)
MSVC++ 6.0   _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 7.0   _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 7.1   _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 8.0   _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 9.0   _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 10.0  _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 11.0  _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 12.0  _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 14.0  _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 14.1  _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)

验证deviceQuery和bandwidthTest

在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2\bin\win64\Release目录,分别输入deviceQuery,bandwidthTest并运行,出现上图bandwidthTest.jpeg / deviceQuery.jpeg 信息便说明CUDA安装成功

四.Tensorflow 

推荐使用 conda install tensorflow-gpu  

附:

tensorflow-gpu v1.9.0 | cuda9.0 |  cuDNN7.1.4可行  | 备注:7.0.4/ 7.0.5/ 7.1.2不明确
tensorflow-gpu v1.8.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4
tensorflow-gpu v1.7.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4
tensorflow-gpu v1.6.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4
tensorflow-gpu v1.5.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4
tensorflow-gpu v1.4.0 | cuda8.0 |  cuDNN 6.0 | 备注:6.0正常使用, 7.0.5不能用,5.1未知 
tensorflow-gpu v1.3.0 | cuda8.0 |  cuDNN 6.0 | 备注:6.0正常使用, 7.0.5不能用,5.1未知 
tensorflow-gpu v1.2.0 | cuda8.0 |  cuDNN 5.1 | 备注:5.1正常使用, 6.0/ 7.0.5 未知
tensorflow-gpu v1.1.0 | cuda8.0 |  cuDNN 5.1 | 备注:5.1正常使用, 6.0/ 7.0.5 未知

参考:

https://blog.csdn.net/ygjustgo/article/details/78883981

https://blog.csdn.net/lifuxian1994/article/details/81103530

https://blog.csdn.net/liubing8609/article/details/81026112

猜你喜欢

转载自blog.csdn.net/u013985879/article/details/82809511