深度学习环境配置
之前一段时间,一直在用CPU跑算法训练自己的模型,今天突然意识到是支持GPU的啊,又快又省资源,不用它不是傻吗…🙄
下面记录一下如何配置TensorFlow-gpu + CUDA + Keras
实现GPU训练深度学习算法的模型。
一些简介
关于TensorFlow:
TensorFlow 是一个端到端开源机器学习平台。它拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,并使开发者能够轻松地构建和部署由机器学习提供支持的应用。
关于Keras:
Keras是用Python编写的高级神经网络API,能够在TensorFlow,CNTK或Theano之上运行。它的开发着眼于实现快速实验。能够以最小的延迟将想法付诸实践是进行良好研究的关键。
- 允许轻松快速地进行原型制作(通过用户友好性,模块化和可扩展性)。
- 支持卷积网络和循环网络,以及两者的组合。
- 在CPU和GPU上无缝运行。
关于CUDA:
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
关于cuDNN:
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
关于CUDA + cuDNN的组合:
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
环境配置
通过今天踩的坑,提醒近期如果需要用tensorflow+cuda实现GPU运算的话,最好安装tensorflow-gpu-2.0.0
和duca-10.0
,或者更低的版本,具体可以参考官网各版本对应的信息。
安装tensorflow
python下直接转tensorflow-gpu
的库即可,哦!python3
的版本一定要在3.7
之下哦,还有一定要64bit
的…
python3 -m pip install tensorflow-gpu==2.0.0 |
安装Keras
python直接装库
python3 -m pip install keras |
安装配置DUCA
这里装的tensorflow是2.0.0
版本,因此duca需要10.0
版本,可以去官网下载v10.0,选择exe(local)
,可以直接完整化安装。
下载之后运行安装程序,如果不想麻烦直接默认简易
安装即可,安装完毕之后可以测试一下,可能反馈如下信息:
>>> import tensorflow |
也就是说缺少了cudart64_100.dll
这个动态链接库,可以去这里下载,下载完之后,将解压得到的文件放入C:\Windows\System32
目录下,不过配置并未完成,因为cuDNN
还未安装配置。
配置cuDNN
官网下载与duca对应版本的cuDNN,不过首先需要注册、登录、完成一个小调查问卷,也不复杂的。
下载完毕之后,将压缩包里的内容放入CUDA安装的目录C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
,如图:
同时需要将cudnn64_7.dll
放入C:\Windows\System32
下,不然可能仍然找不到该dll。
此时再去测试,应该就没问题了,可以用如下语句测试:
>>> a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用 |
成功配置的效果如下图:
反馈如上信息,则表明配置已经成功,再次跑算法就是GPU了,又快又拉风~
问题及解决
在自己配置的时候,远远没有上面说的这么简单,起初直接默认装了tensorflow
,结果是最新版2.1.0
的,查了一下,也就安装了cuda10.2
的版本,结果报错找不到cudart64_100.dll
,去上面提供的链接库的下载地址找到安装就行了,然而问题并没有那么简单,在配置好cuDNN之后,用前面的方法进行测试,一直报错:
cudaGetDevice() failed. Status: cudaGetErrorString symbol not found.
这是什么问题呢?
网上还有人说是NVIDIA驱动版本的问题,在控制面板看了一下,我的是441
,已经满足要求了…
有人说tensorflow-2.1.0
要和duca-10.1
配合着用,结果还是很不OK…应该是新版本存在的问题,毕竟连tensorflow目前都并未支持python3的各个版本…
最后,姑且直接将tensorflow换成了tensorflow-2.0.0
的版本,也就是前面安装步骤里讲到的,然后再配合安装duca-10.0
进行配置,终于成功解决了问题。😎
希望这篇文章能够帮助到你
- Post Title: 深度学习环境配置
- Post Author: ggb0n
- Post Link: http://ggb0n.cool/2020/05/01/深度学习环境配置/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
1.TCTF2020部分题解
2.第五空间pwn题练习
3.堆溢出-Tcache_Attack
4.堆溢出-Housese_Of_XXX
5.堆溢出基础
6.入坑二进制