win10配置CUDA+Tensorflow2.0的一些经验
问题描述
网上已经很多关于配置CUDA的文章,自己这篇文章的重点是安装和配置的一些细节,而至于具体的步骤(比如软件怎么下,环境变量怎么配等)请自行搜索,我相信大家也不会只参考一篇文章,如有指正或疑问请评论留言,谢谢!
- 安装VC_redist.x64.exe,VS2015附属组件
- 安装 tensorflow-cpu
- 安装 tensorflow-gpu-2.0,并配置 CUDA
- 编译 Nvidia Samples
- 环境:Win10;GPU--Nvidia 940MX
安装VC环境
这里如果不提前安装这个的话,在后面使用import tensorflow会遇到DLL无法找到对应模块这个问题。
安装后建议重启。同样的,下面涉及到修改环境变量等步骤如果验证失败,不一定是配置错了,说不准重启生效。这样能节约大量搜索解决方案的时间。
安装 tensorflow-cpu-2.0
- 安装 anaconda
- 如果认为 anaconda 较大,可安装 miniconda;
- win10 下需要特别注意环境变量的配置
- 激活 conda 环境
- 建议新建一个环境,如
conda create -n env_name python=3.7。 - 新环境的 python 版本和要安装的 tensorflow 的版本是相关的,所以如果要安装最新版的 tensorflow-2.0,需要使用 python3.7 及以上。
- pip 的更新和换源自行搜索即可。Linux 的 pip 更新见自己的另一篇文章。
- 建议新建一个环境,如
- 安装 tensorflow-2.0
- 最简单的安装方法是使用 pip 安装。这样的问题是:使用的时候会有 AVX Warning,原因是:pip 方法会提供的适配性最高的安装包,但是当前 CPU 支持更高效的 tensorflow 使用方式(AVX),所以才会有这个 Warning。这个不影响使用,可以不用管。
- 解决方案是下载官方 tensorflow 的源码,重新编译。当然网上也提供了编译好了的版本,自行搜索下载,安装即可。
- 检测是否安装成功
- 可以在 python 中输入以下代码,能正常运行即可
import tensorflow as tf
a = tf.constant(1)
b = tf.add(a, a)
print(b)
安装 tensorflow-gpu-2.0
- 系统检查
- 电脑必须带N卡,且安装了驱动。建议安装最新的N卡驱动,这样做的原因是:新的驱动支持的CUDA的版本也相应的较高。比如445版本号能支持到还未发行的11.0。
- 查看最高支持的CUDA版本。打开系统的Nvidia控制面板,点击左下角 系统信息 -- 组件 -- NVCUDA.DLL,自己的是 NVIDIA CUDA 10.2.115 driver. 这代表着:最高的CUDA版本是 10.2.115
- 软件准备
- 按照查到的这个版本,搜索下载CUDA。2020-05-27更新:tensorflow-gpu=2.2.0版本暂不支持10.2版本,在使用
import tensorflow会报错;10.1版本没问题。 - 在一台电脑上是可以安装多个版本的CUDA的,所以如果你安装了10.2,可以继续安装10.1,过程不变,只需要设置环境变量时,10.1要在10.2前面。
- 下载 CUDNN。这个需要使用 Nvidia 的账号。请注意:CUDNN 和 CUDA 是匹配的,一定要下载对应的最新版本。比如 V7.6.6 和 V7.6.4 都是 CUDA10.0 的CUDNN,那么选择第一个。
import tensorflow报错,找不到 cudnn64_7.dll文件。这种类似的错误,可能是CUDA版本太新/旧;CUDNN版本不对应。
- 按照查到的这个版本,搜索下载CUDA。2020-05-27更新:tensorflow-gpu=2.2.0版本暂不支持10.2版本,在使用
- 安装 CUDA & CUDNN
- 选择自定义安装;如果不想安装在 C盘,但是为了以后使用方便,可以在D盘等其他位置新建相应目录,比如:
D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 - 如果没有刚需,像是 NVDIA PHYSX,NVIDIA GEFORCE EXPERIENCE这样的软件没有必要安装;其中VS Integration 不要勾选,NVIDIA 驱动也不要勾选,因为我们已经安装好了驱动。
- 将 CUDNN 复制到相应的 CUDA 安装文件位置。
- 配置环境变量,测试CUDA是否安装成功等善后工作相信你也能在其他文章见到。
- 选择自定义安装;如果不想安装在 C盘,但是为了以后使用方便,可以在D盘等其他位置新建相应目录,比如:
- 在 conda 环境中安装 tensorflow-gpu 版本,测试能否使用 N卡计算
编译 Nvidia Samples
安装 VS2017,安装中注意选择安装 Windows 10 SDK(10.0.15063)。这里使用VS2019也是可以的。
最重要的一步 使用解压缩软件打开 CUDA 的安装程序,解压 MSBuildExtensions 这个文件夹出来(这就是上一步没有选择安装 vs integration的原因)。具体路径:
CUDAVisualStudioIntegration/extras/visual_studio_integration/MSBuildExtensions。将这个文件夹下的文件复制到 vs2017 的安装目录,自己的是
D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
如果是VS2019,那么对应的路径应该是D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations
打开 Samples_vs2017.sln,可以在项目上右键--生成,如果报错可查看10.0.15063这个SDK版本是否安装。生成成功的解决方案(.exe文件)可以在 ..\Samples\V10.0\bin\win64\Debug 这个文件夹下查看
我不这样操作可以吗?我自己思考了一下,上面的解决方案可能适用于:安装CUDA前没有安装VS,或者VS没有装在默认位置,比如我的VS就装在了D盘,还有一些其他情况我也不清楚。
我只能说,我每次这样做都没有问题,不管是在python中导入tensorflow,还是使用VS编译Samples,都能成功,所以我推荐其他人这样做。
所以,如果你无法在VS中编译Samples,或者CUDA安装失败(有时候安装CUDA勾选VSIntegration可能会安装失败),可以尝试以上方法。
相关资源和其他问题
- 关于 AVX 问题,大家可以在这个站点上下载到对应的 .whl 文件,使用 pip install xxx.whl 即可安装。请注意:这个站点的安装包对于 CUDA 和 CUDNN 的版本是有规定的,一定要对应好!网页链接
win10配置CUDA+Tensorflow2.0的一些经验的更多相关文章
- Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南
Win10 x64 + CUDA 10.0 + cuDNN v7.5 + TensorFlow GPU 1.13 安装指南 Update : 2019.03.08 0. 环境说明 硬件:Ryzen R ...
- win10 下cuda 9.0 卸载
1.首先 对于cuda8.0.cuda7.5的卸载都可以兼容 安装cuda9.0之后,电脑原来的NVIDIA图形驱动会被更新,NVIDIA Physx系统软件也会被更新(安装低版cuda可能不会被更新 ...
- win10配置cuda和pytorch
简介 pytorch是非常流行的深度学习框架.下面是Windows平台配置pytorch的过程. 一共需要安装cuda.pycharm.anancoda.pytorch. 主要介绍cuda和pytor ...
- win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)
win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0) 用vs 2015打开 编译Release ...
- win10下vs2015配置Opencv3.1.0过程详解
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- 第一篇:CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
前言 本文讲解如何在VS 2010开发平台中搭建CUDA开发环境. 当前配置: 系统:WIN7 64位 开发平台:VS 2010 显卡:英伟达G卡 CUDA版本:6.0 若配置不同,请谨慎参考本文. ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
作为小码农的我,昨天就在装这个东东了,主要参考第一篇博文,但是过程发现很多问题,经过反反复复,千锤百炼,终于柳暗花明,我把这个caffe给搞定了,是故,我发布出来,后之来者,欲将有感于斯文~ 本分分为 ...
- win10 + cuda(v9.0) 安装TensorFlow-gpu版
之前在实习公司的电脑上装过TensorFlow-gpu,那时候很快就装好了.但在自己的笔记本上装时,却搞了很久... 一部分原因是因为用校园网下载cuda toolkit 和cudnn ,总是在最后时 ...
随机推荐
- hadoop 基础
common 一组分布式文件系统和通用I/O的组件与接口(序列化.java RPC和持久化数据结构) Avro 一种支持高效.跨语言的RPC以及永久存储数据的序列化系统 MapReduce 分布式数据 ...
- lvs+keepalived部署k8s v1.16.4高可用集群
一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepal ...
- C++中虚析构的作用
为了当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用. 基本概念: 析构函数是用来回收对象的: 虚析构函数是析构函数的一种: 基类是一类对象共有属性的抽象.比如,猫和狗都是动物,都会 ...
- GP工作室的项目计划书
目录 零点六一八--项目计划书 一.团队简介 1.1团队名称:GP工作室(Gold Point Studio) 1.2团队成员 1.3成员简介 1.4团队特色 二.项目介绍 2.1项目名称: 零点六一 ...
- 将DataTable数据转换成List泛型数据
这里有一个实体类: public class Menuss { public int Id { get; set; } public string Te ...
- Docker在树莓派的安装与使用(Ubuntu Arm Server v19.10)
最近由于冠状病毒疫情的原因,只能够和小朋友家里蹲.这几天把尘封已久的那个树莓派拿出来继续捣鼓.希望能够做一个异构的分布式系统框架,于是想把Docker也安装到树莓派上,以便后期做进一步的开发和实验. ...
- 文件上传二:FormData上传
介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,现在不推荐用了. 真正的异步上传,FormData的更多操作,请 ...
- [NOI2005]维护数列(区间splay)
[NOI2005]维护数列(luogu) 打这玩意儿真是要了我的老命 Description 请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线‘ _ ’表示实际输入文 ...
- 2019中国大学生程序设计竞赛-女生专场(重现赛)部分题解C-Function(贪心+优先队列) H-clock(模拟)
Function 题目链接 Problem Description wls 有 n 个二次函数 Fi(x) = aix2 + bix + ci (1 ≤ i ≤ n). 现在他想在∑ni=1xi = ...
- springboot开发之使用外部servlet容器及对jsp的支持
一般而言,springboot是使用自己内嵌的servlet容器,比如tomcat等等,而且默认的模板引擎是thymeleaf,那么如何让springboot使用外部的servlet容器并支持对jsp ...