安装TensorFlow-GPU杂记cuda10.1踩坑

其实思考了很久自己会的东西很杂,但是不晓得搞什么,然后最后发现自己还是对机器学习已经神经网络比较感兴趣,所以入手学习TensorFlow。
常规安装 我大概查了一下Windows下面,一般都是Cuda+Anaconda+cuDnn+pycharm,以及你可以选择是TensorFlow cpu版本的还是gpu版本的,我一开始下载了cpu版本,后来转念一想,如果随着自己的学习深入,cpu版本支持不了了还要重新弄就未免太麻烦了,所以我就直接下载了GPU版本,其实网上的教程爆炸多,然后相比较caffe这个TensorFlow也算是比较友好了,先下载cuda去官网下载即可,目前我遇见的TensorFlow最高版本是2.0,而cuda最高版本是10.2,我看了一下 10.2版本的cuda大小在2.3G 而且又在外网下载,速度感人,恰好实验室有个小伙伴下载了cuda我就把他的弄过来了(这里是cuda网址)。
安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片
然后就开始装环境,cuda安装没啥问题,然后去下载cuDNN,这个也去NVIDIA官网下载,不过在下载之前要注册,有点小麻烦问点奇奇怪怪的问题,慢慢弄就能弄好,然后会下载出一个压缩包出来,这里就不给包的链接了,因为你要对应不同的cuda下载不同版本的cuDnn,其实他写的还是很清晰的(cuDNN下载网址)
安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片

接下来就是下载Anaconda,我一开始恨不能理解,我都弄好了python的环境是吧,干啥子要我下载什么新的奇奇怪怪的东西,到后来我发现我去Anaconda真香,他有个虚拟化的环境,啥叫虚拟化呢,他能弄出好多个python的环境 然后不同的环境是分开的,这就带来了一个好处对于初学者,下载失败了大不了把这个环境删了重头再来,这让我觉得不容易出玄学问题,因为之前的错误操作,而且他还自带那种有点类似于vscode和pycharm的下载包的形式,好像也是个包管理的工具,并且集成了Jupyter notebook等牛逼的工具,反正吹爆就完事了
安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片

安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片
(Anaconda网址),这个没啥问题,下载安装就完事,我下载的是python 3.7的 不用担心python版本的问题,新建环境的时候可以选择不同的版本。
安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片

接下来就是在Anaconda新建一个环境,然后进入那个环境pip install就完事了,好像也可以在上面那种ui界面下载吧,具体没试过,其实这种教程很多,稍微搜一下一大堆,主要问题是cuda和cuDNN以及TensorFlow的版本要对应不然会有警告以及报错,这里参考了这篇博客
https://blog.csdn.net/zqx951102/article/details/89105110
http://blog.sina.com.cn/s/blog_14935c5880102wu86.html
最最重要的来了 我安装了一个通宵都没搞定,一直莫名其妙的报错什么缺少什么100.dll文件如Could not find 'cudart64_100.dll’要么就是Could not find 'cudart64_90.dll’文件,一开始以为是TensorFlow版本不配是
其实我从TensorFlow2.0换到1.14都没能解决这个问题,然后我查到有文章说把’cudart64_101.dll名字改一下就行改成100,或者自己拷一个进去,这样这个警告是解决了,但是很多网友反映说发现TensorFlow是泡在cpu上而不是GPU上所以这个方法不采取,最后在查阅了大量资料之后发现,好像目前TensorFlow不支持cuda10.1所以一直说找不到那个库,哭死,于是我就换成了cuda10,在cuda安装的时候还有个running process 好像是说一个什么进程影响了,于是我就把电脑重启了,cuda10成功安装,接着是就找到cuda10对应的cuDNN下载放进去就完事,记得添加环境变量,到安装TensorFlow的时候我先安装的是1.8.0的TensorFlow还是给我说找不到90.dll 我猜cuda版本还是过高,换成cuda9应该就ok,我懒得换了,于是就下载了TensorFlow2.0.0的安装,TensorFlow2.0.0新版本有些函数都发生变化了,感觉可能学起来有点恼火,但是应该问题不大,跑了个检测程序如下

import tensorflow as tfsess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))

安装TensorFlow-GPU杂记cuda10.1踩坑
文章图片

结果是这样,应该就是在gpu上面跑成功了,磕磕绊绊还算顺利,我还能肝哈哈哈!
最后的建议 【安装TensorFlow-GPU杂记cuda10.1踩坑】对于想学习TensorFlow1.x的同学们比较建议下载版本比较低级一点的cuda,相比较而言cuda10都比较高了,我只在TensorFlow2.0成功了,而TensorFlow2.0目前而言的国内教程比较少,学习难度比较大,所以低级一点先学习就比较方便了,比较建议安装cuda7.0以及cuda8.0左右的,应该先决定选择哪个版本的TensorFlow然后再下载对应适配的cuda,这样就比较方便了,TensorFlow2.0学起来许多api都变了,重新卸载TensorFlow卸载cuda又懒得弄了,学习难度贼大,就有点难受了,同样的情况我也发生在opencv4.0.0身上过,最后卸载弄了个opencv3.6,无奈。

    推荐阅读