Windows10+Anaconda+CUDA 10.0的TensorFlow(GPU)环境搭建

因为最近在用Tensorflow进行学习,所以分享一下配置一些细节。

笔者配置说明:

  • Inter Core i5-8400 CPU 
  • GeForce GTX 1060
  • Windows 10 (64位)

需要配置的环境:

  • Anaconda3(64bit)
  • CUDA  10.0
  • cuDnn  7.6.5
  • Python  3.6
  • Tensorflow - gpu 1.13.1

一、 安装Anaconda3

Anaconda3的安装可以直接到其官网(https://www.anaconda.com/products/individual#windows),Anaconda3还提供了Linux和MacOS其他两个版本的下载,这里我们选择的是Windows(Python 3.8)版本的下载。

这里可能有人会疑惑为什么之前配置环境中讲得是Python 3.6,这里却下载的是Python 3.8版本的Anaconda,不要着急这里后面会仔细讲解。

下载成功后打开指定的exe安装程序。(因为笔者之前安装的不是当前官网最新版本,笔者安装的是Python 3.7版本的,这里会有些出入,但是不影响后面的安装)

这里,我们把两个都选上,第一个是加入环境变量,因为我之前安装过一次所以这里提示不要重复添加,第二个是默认的Python 3.7,然后Install。

Anaconda安装完成后,在开始程序中打开Anaconda的命令行程序Anaconda Prompt(如果遇到权限问题则建议以管理员身份打开)

打开以后就是一个和cmd类似的命令行界面,到这里Anaconda安装完成。

二、安装CUDA和cuDnn

注意这里是为安装GPU版本的Tensorflw进行的准备,如果要安装的是CPU版本的不需要安装这一步。

注意安装CUDA之前请先安装VS2015(2013或者2017也可以),关键的是要安装了单个组件项目中的适用于桌面的VC++2015.3 v14.00(140)工具集,VS的安装相信大家都会这里就不做赘述了。

CUDA是NVIDIA推出的运算平台,CuDNN是专门针对深度学习框架设计的一套GPU计算加速方案。因为CUDA是NVIDIA推出的,所以显卡是AMD的相当于是劝退了吧。CUDA的不同版本是针对不用显卡计算能力推出的,所以在选择CDUA版本时各位应该根据自己的显卡驱动选择,避免踩坑。(这里给各位po一张CUDA版本对应显卡驱动版本的表格)如果想查看显卡的算力,参考这里(https://developer.nvidia.com/cuda-gpus)。

查看自己显卡驱动版本的方法:在NVIDA控制面板中 “帮助-系统信息”

到这里我们确定了自己的显卡驱动是适合安装10.0版本的CUDA的,到官网进行下载(https://developer.nvidia.com/cuda-10.0-download-archive)。

当然如果嫌弃下载太慢,我会把配套的网盘资源放到文章最后提供下载

下载完成先解压然后直接由安装程序下载。

这一步会检查你的安装环境,一般只要你提前安装好了VS就可以通过检测继续安装。

遇到协议都同意,然后选择自定义安装,只用选择CUDA部分安装即可。

然后耐心等待安装,安装完成后用我们之前参考显卡驱动的方法,在系统信息-组件中出现以下这一信息则表示安装成功。

接下来讲解cuDnn安装,其实cuDnn就是CUDA的加速器补丁(我是这样理解的)。下载地址是(https://developer.nvidia.com/rdp/cudnn-archive),下载cuDnn需要注册NIVDA账号,这个可能需要科学上网,不然速度会比较感人,当然对应版本(cudnn-7.6.5 for CUDA 10.0)的网盘地址我会放在最后。

下载得到的cuDnn其实就是三个文件夹,现在我们需要做的就是将cuDnn三个文件夹中的对象分别复制到你CUDA的安装目录下,我CUDA的安装地址是(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0)

当CUDA和cuDnn都安装好,这时候要注意检查系统环境变量(虽然一般来说,CUDA在安装的时候勾选了添加系统变量的选项的话会为用户自动添加):

Path:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

            C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp

CUDA_PATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

CUDA_PATH_V10_0:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

Path:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

另一个查看CUDA是否配置完成的方法:Cmd中cd至CUDA bin目录(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin),键入nvcc V查看是否配置完成。

三、配置Tensorflow的Anaconda虚拟环境

在Anaconda Prompt中(也就是之前的命令行界面),输入命令,关于conda的命令可以在这篇博客中查找(http://blog.csdn.net/fyuanfena/article/details/52080270):

conda create -n tensorflow_gpu python=3.6

这里我们就创建了一个Python 3.6的虚拟环境(这意思Anaconda最方便的地方),为什么是3.6主要是因为Tensorflow使用3.6最稳定,想了解原因的话建议直接去GitHub。

 中间会让我们确认一下,输入个y回车就好了。安装好后会给我们提示用activate,和deactivate进行环境的切换。

​ 我们先切换到创建好的环境中:

activate tensorflow_gpu

注意这里路径前面的内容,显示我们已经进入了之前创建的tensorflow-gpu环境下。

而现在,基本环境已经配置好了,我们要安装一些重要的Python科学运算库,Anaconda已经为我们准备好的一系列常用的Python苦,例如numpy,pandas,matplotlib等等,所以我们只需要安装一次anaconda库就可以把这些库全部安装好。

conda install anaconda

四、安装Tensorflow

配置好我们的虚拟环境,接下来就是最为重要的一步安装TensorFlow,我这里只展示GPU版本的安装。

在配置之前再给各位po一张Tensorflow与CUDA版本的对应关系。

所以我们这里在刚刚激活新虚拟环境下使用命令:

conda install tensorflow-gpu == 13.0

但这个命令的问题是会重新安装CUDA和cuDnn,所以我还是比较推荐使用Python的pip方法进行安装。

因为Anaconda默认的下载源都是国外源,下载速度那是非常感人,挂了VPN有时候也能急死了,所以这里推荐先将源更改为国内的源(笔者比较习惯用的是清华的镜像)

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

同样在Anaconda命令行下输入以上命令,后面我们的安装时换成清华镜像就能快很多了。

此刻请记住需要在我们新建的环境tensorFlow-gpu中安装,而这个虚拟环境的地址一般是在(D:\Anaconda\Anaconda\envs\tensorflow_gpu),所以我一般是想在命令行状态下cd到该目录中的(D:\Anaconda\Anaconda\envs\tensorflow_gpu\Lib\site-packages),因为这里一般是存放一些第三方库的位置。输入如下命令:

pip install tensorflow-gpu==1.13.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装完毕可以用如下命令查看TensorFlow是否已经安装到该环境下:

conda list

五、使用PyCharm进行测试

虽然Anaconda提供其他很多编译器路Spyder、Jupyter,使用都比较方便。但是PyCharm可以打断点Debug这点我比较喜欢,所以我一般使用的是PyCharm,这样也讲解一下然后在PyCharm中设置Anaconda中创建的虚拟环境并进行TensorFlow测试。

在 file- settings- project interpreter-add-conda environment当中,选existing environment,把对应环境路径(D:\Anaconda\Anaconda\envs\tensorflow_gpu\python.exe)加上就好了,再在对应工程里选你刚刚配置的interpreter就行。

测试代码:

import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

PyCharm中调用TensorFlow成功会打印一些你的GPU信息,然后到这里你的控制台中显示了如下状态则说明你的TensorFlow最终配置成功了!

六、下载地址

VS2015  :链接:https://pan.baidu.com/s/1rmSFJULmLeN5fkZzeCiGog   提取码:i63c

CUDA 10.0:链接:https://pan.baidu.com/s/15ctdxU9FMr49y7JkkkaLMQ   提取码:5dh1

cuDnn 7.6.5 :链接:https://pan.baidu.com/s/1ggmG3forIBb6RkqDB8yXFA    提取码:lwh7

如果有问题可以邮件我:yangy9803@163.com

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
自编译tensorflow: 1.python3.5,tensorflow1.12; 2.支持cuda10.0,cudnn7.3.1,TensorRT-5.0.2.6-cuda10.0-cudnn7.3; 3.支持mkl,无MPI; 软硬件硬件环境:Ubuntu16.04,GeForce GTX 1080 配置信息: hp@dla:~/work/ts_compile/tensorflow$ ./configure WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown". You have bazel 0.19.1 installed. Please specify the location of python. [Default is /usr/bin/python]: /usr/bin/python3 Found possible Python library paths: /usr/local/lib/python3.5/dist-packages /usr/lib/python3/dist-packages Please input the desired Python library path to use. Default is [/usr/local/lib/python3.5/dist-packages] Do you wish to build TensorFlow with XLA JIT support? [Y/n]: XLA JIT support will be enabled for TensorFlow. Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]: No OpenCL SYCL support will be enabled for TensorFlow. Do you wish to build TensorFlow with ROCm support? [y/N]: No ROCm support will be enabled for TensorFlow. Do you wish to build TensorFlow with CUDA support? [y/N]: y CUDA support will be enabled for TensorFlow. Please specify the CUDA SDK version you want to use. [Leave empty to default to CUDA 10.0]: Please specify the location where CUDA 10.0 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /usr/local/cuda-10.0 Please specify the cuDNN version you want to use. [Leave empty to default to cuDNN 7]: 7.3.1 Please specify the location where cuDNN 7 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda-10.0]: Do you wish to build TensorFlow with TensorRT support? [y/N]: y TensorRT support will be enabled for TensorFlow. Please specify the location where TensorRT is installed. [Default is /usr/lib/x86_64-linux-gnu]:/home/hp/bin/TensorRT-5.0.2.6-cuda10.0-cudnn7.3/targets/x86_64-linux-gnu Please specify the locally installed NCCL version you want to use. [Default is to use https://github.com/nvidia/nccl]: Please specify a list of comma-separated Cuda compute capabilities you want to build with. You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus. Please note that each additional compute capability significantly increases your build time and binary size. [Default is: 6.1,6.1,6.1]: Do you want to use clang as CUDA compiler? [y/N]: nvcc will be used as CUDA compiler. Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]: Do you wish to build TensorFlow with MPI support? [y/N]: No MPI support will be enabled for TensorFlow. Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]: Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: Not configuring the WORKSPACE for Android builds. Preconfigured Bazel build configs. You can use any of the below by adding "--config=" to your build command. See .bazelrc for more details. --config=mkl # Build with MKL support. --config=monolithic # Config for mostly static monolithic build. --config=gdr # Build with GDR support. --config=verbs # Build with libverbs support. --config=ngraph # Build with Intel nGraph support. --config=dynamic_kernels # (Experimental) Build kernels into separate shared objects. Preconfigured Bazel build configs to DISABLE default on features: --config=noaws # Disable AWS S3 filesystem support. --config=nogcp # Disable GCP support. --config=nohdfs # Disable HDFS support. --config=noignite # Disable Apacha Ignite support. --config=nokafka # Disable Apache Kafka support. --config=nonccl # Disable NVIDIA NCCL support. Configuration finished 编译: hp@dla:~/work/ts_compile/tensorflow$ bazel build --config=opt --config=mkl --verbose_failures //tensorflow/tools/pip_package:build_pip_package 卸载已有tensorflow: hp@dla:~/temp$ sudo pip3 uninstall tensorflow 安装自己编译的成果: hp@dla:~/temp$ sudo pip3 install tensorflow-1.12.0-cp35-cp35m-linux_x86_64.whl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值