tensorflow-gpu+电脑win10+gtx1050ti显卡配置心得,防坑指南

1.cuda的选择

这里建议使用CUDA8.0的版本,因为之前我下载安装了一个CUDA9.0的版本,好像是不能用。

官网下载CUDA8.0 https://developer.nvidia.com/cuda-80-ga2-download-archive

在这里插入图片描述

之后我参考网上说得有个c++的环境吧,要下载安装一下vs,但是笔者没有安装vs,感觉太麻烦了,笔者下载的dev-cpp。dev-cpp安装比较方便吧。反正我安装时也没说需要vs环境,之后就正常继续操作就行啦。

2.安装CUDA

笔者的C盘容量挺大的,这里选择是他的默认路径。之所以选择默认路径,是因为选择默认路径不容易出错。

等待CUDA Setup到100%,检查系统的兼容性,同意许可协议。

检查兼容性时可能会显示

在这里插入图片描述

但是并无大碍,1050ti显卡基本是兼容的,笔者的电脑也显示这里了,可能是因为没有配置系统变量,所以不显示兼容吧。直接点继续。

之后选择自定义安装
在这里插入图片描述
在这里插入图片描述

之后依照下图配置自己的环境变量

右键电脑,点击属性,会出现下图

在这里插入图片描述

选择高级系统设置,设置环境变量

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

上图蓝色方框里的是根据自己下载的cudnn的地址文件来配置的,cudnn下载安装请看3

配置完成之后,检查CUDA是否安装成功

打开我的电脑,找到下图路径

在这里插入图片描述

直接在路径位置输入cmd

在这里插入图片描述

之后分别在命令窗口输入

​ 命令:bandwidthTest.exe

deviceQuery.exe

在这里插入图片描述
在这里插入图片描述

当两个都显示PASS说明成功。

输入nvcc -V,显示如下图也是成功的,之后就可以安装cudnn了
在这里插入图片描述

3.cudnn下载安装

去https://developer.nvidia.com/cudnn上下载搭配CUDA8.0的cudnn ,一定要注意搭配8.0。会需要注册英伟达的账号。

在这里插入图片描述
在这里插入图片描述

输入自己都邮箱注册登录一下
在这里插入图片描述

之后会出现这个窗口,因为没有显示我们需要的版本,需点击标红处。

在这里插入图片描述

往下找到我们CUDA对应的版本,我们用的是CUDA8.0的版本,所以要下载下图的cudnn

在这里插入图片描述
在这里插入图片描述

把下载的文件解压出来之后,会出现与CUDA8.0对应的文件

在这里插入图片描述

分别将.h .lib 和.dll 文件分别拷贝到cuda的include, lib/x64, bin 文件夹下。其实也就是对应的文件夹。

到这里就安装好了CUDA8.0及其对应的cudnn。

之后这里配置一下之前上面的环境蓝色标记的地方。

在这里插入图片描述

4.anaconda的环境配置

anaconda的版本选择没影响,因为后面我们会自己创建一个新的环境。

之后打开Anaconda Prompt

在这里插入图片描述

检查目前有哪些版本的python可以安装:

conda search --full-name python

在这里插入图片描述

创建一个名为tensorflow-gpu的anaconda环境,配置python3.5,之所以选择3.5的,是因为看的一些博主也是用3.5的,其实也可以用3.6的,因为有对应的tensorflow的版本,我之后才知道的,也懒得改了。

conda create -n tensorflow_gpu pip python=3.5.3

激活tensorflow-gpu环境:

conda activate tensorflow_gpu

之后就进入到我们创建的环境了

5. tensorflow1.1.0配置

注意事项:
1.一定要在tensorflow_gpu的环境下;
2.不要使用conda命令安装tensorflow-gpu,因为这样会同时安装CUDA,我们需要指定版本CUDA和cudnn,前面才手动去配置,conda安装会让前面的工作白做,用pip install tensorflow-gpu==1.1.0

查看可用的版本

在这里插入图片描述

因为我们配的是python3.5,就选择tensorflow1.1.0版本的,其实python3.6也可以用1.1.0版本的

在这里插入图片描述

之后笔者经过多次安装,终于使用

conda install tensorflow-gpu==1.1.0

成功安装,之后不要激动。因为我也以为成功了,结果通过pycharm编辑器运行还是报错。

打开pycharm,点击setting配准tensorflow-gpu环境

在这里插入图片描述

添加anaconda里的tensorflow-gpu环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择anaconda下envs下自己配置的tensorflow-gpu的环境。

在这里插入图片描述

之后python环境切换就OK了。
在这里插入图片描述
之后我输入代码运行检测一下

import tensorflow as tf

def main():
    a = tf.constant([1.0, 2.0], name='a')
    b = tf.constant([2.0, 3.0], name='b')
    result = a + b
    sess = tf.Session()
    print(sess.run(result))

if __name__ == '__main__':
    main()

结果报错误:

TypeError: expected bytes, Descriptor found

笔者通过查找方法,网上说是

从__module__ = 'google.protobuf.descriptor_pb2’可以看出,错误是protobuf的问题。

本环境是python3,所以怀疑是1.protobuf版本过低,2.protobuf支持py2,需要装py3。所以:

打开在这里插入图片描述

进入到tensorflow_gpu环境下

在这里插入图片描述

输入:升级命令

pip install protobuf-py3

pip install --upgrade protobuf

在这里插入图片描述

大功告成,再到pycharm运行测试代码。

在这里插入图片描述

运行成功。祝大家好运。

我不是专家,纯属自己琢磨的,不对的地方请大家指出,我及时改正。

参考以下部分博客内容:
[https://blog.csdn.net/ccbrid/article/details/103425627(https://blog.csdn.net/ccbrid/article/details/103425627)

https://blog.csdn.net/angzhangzhang123/article/details/79637346

https://blog.csdn.net/weixin_44341962/article/details/91347433
https://www.cnblogs.com/wanyu416/p/9536853.html

Logo

分享最新的 NVIDIA AI Software 资源以及活动/会议信息,精选收录AI相关技术内容,欢迎大家加入社区并参与讨论。

更多推荐