配置你的AI学习框架,从sklearn谈到pytorch(1)
前言,比来几天小伞君在配置基于GPU驱动的深度/机器学习框架,深深体会到了英伟达硬件帝国的绝对统治力度,终于,凭借尝试室的电脑,小伞君终于享受了一回有显卡的感觉,这里给大师总结一下整体的配置之路!PS:尝试室的电脑,为了不弄坏(重装),安装的每一步都相当小心,所以间接学了不少东西,顿时就给大师分享欧!
\1. 从基本的pytorch配置说起......
什么?pytorch需要配置GPU吗?这不是安装下来就能用?
是这样的没错,此刻PaddlePaddle也同样撑持这样做了,理由是这两都自带了CUDA与CuDNN,只要当地有GPU,直接解决全部问题!
但是Tensorflow呢?
这年头有谁还用TF呀?
抛开这个不说,即便深度学习无需配置CUDA这些麻烦事,机器学习也一样要配置CUDA和一些其他的组件,以达到更快的加速效果。
小伞你雨淋多了???
机器学习用GPU???
没错,机器学习就是可以用GPU!!!
(不得不服气Nivdia大爹的统治力,直接把隔壁AMD的ROCm(AMD的深度学习加速框架)给干碎了,AMD才方才能兼容TF呢,隔壁英伟达已经联动机器学习搞了一堆框架,这回彻底赣爆了AMD,奠基了英伟达在显卡加速范围的领主地位。)
(这年头谁用ROCm搞深度学习呀?)
英伟达的产物——Rapids,部属3个库:CUML,CUGRAPH,CUDF,从机器学习,图机器学习/深度学习,类pandas数据加载三个范围,直接降维冲击,隔壁用CPU的跑一天,GPU加速可能几小时就把参数调好了。
因此,安装CUDA,CUDNN,以及Rapids,箭在弦上,不得不发!
\2. 但是CUDA,CUDNN不是pytorch帮你all OK了?
第一:pip安装的东西,各位一般不会全局安装吧
第二:全局安装了,各位一般不会顺手了设置环境路径吧
第三:你这些真的都搞了,那。。。。。。
你是个狠人。
考虑到CUDA,CUDNN的pip安装,不清楚这里面发生了什么,所以可能出什么不测,绝顶还是本身安装了。
\3. 开始安装
首先,进入cmd界面,输入nvidia-smi
nvidia-smi不出不测的出来了这些东西:
这张图上,不是已经概况当地存在CUDA了吗???
但我的nvcc呢???(尝尝nvcc -V)
网上的说法:
[*]CUDA Version只是暗示你所能安装的CUDA版本的最高上限......
[*]CUDA Version暗示CUDA版本的下限.....
???
最后无奈找了CSDN,知乎上面的详细分析,总结一下就是下面的内容:
如下的总结基于下列链接的作者总和而成,遵循对应的版权协议:
https://www.cnblogs.com/marsggbo/p/11838823.html
https://www.zhihu.com/question/378419173
https://blog.csdn.net/jslove1997/article/details/113737934
https://blog.csdn.net/weixin_44966641/article/details/124500258
附上版权声明:
考虑到CC 4.0 BY-SA协议同样包含改动内容的版权庇护,因此这里遵循协议将链接附上:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
https://blog.csdn.net/jslove1997/article/details/113737934
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
https://blog.csdn.net/weixin_44966641/article/details/124500258
[*]cuda包含三大组件,分袂是 NVIDIA driver(驱动)、toolkit 和 samples。
[*]cuda driver已经内置在你的电脑里面了(对应Windows用户,Linux应该也是,具体的不清楚)(否则你感觉平时看剧的时候,是谁在衬着你窗(口)?)
[*]driver包含driver相关的一系列命令,例如nvidia-smi,提供了对于Driver APIs的访谒
等等等,这Driver APIs是什么鬼?别急,往下看
还有就是配置方式及相关传送门也不才面,有需自行跳转,如果不清楚道理最都雅完再跳
[*]driver 和toolkit可以分隔安装,而且同一台电脑上二者撑持的CUDA版本可以纷歧样,只要保证驱动的CUDA比toolkit的CUDA版本大就行
[*]toolkit提供了对Runtime APIs的访谒,所以nvcc命令是toolkit提供的,因此,在没有nvcc的情况下,也可能有nvidia-smi命令(只有driver)
[*]又由于英伟达显卡的APIs架构如下:
http://pic2.zhimg.com/v2-561bee12cbdadb176d89472ec94f7e8d_r.jpg
[*]因此就很直不雅观了:Driver的权限最底下,runtime APIs封装了一部门Driver,因此,这二者的CUDA版本存在Driver > Runtime的关系。
[*]这里我们需要用到nvcc,CUDNN来配置,所以需要runtime API,我又不想覆盖原先的CUDA版本,因此选择的CUDA版本在nvidia-smi的版本之下。
[*]安装,安装参考了如下几位博主的资料,我就不外多赘述,这里放链接在这,有需自取:(莫得Linux的,但过程应该差不多,除了无环境变量)
[*](Windows下安装写得很全的一个教程,强推)https://blog.csdn.net/qq_46941656/article/details/119681765
[*]检测是否安装成功:https://blog.csdn.net/qq_41897154/article/details/115273699(CUDNN的检测方式存疑,之前CUDNN未安装,仅安装CUDA时也能通过,建议上tensorflow==2.10.0直接检测,tf找得到GPU就可以,否则不行)
[*]还有这个,如果真的都全局乱装CUDA的可以参考一下多个CUDA的配置方案:https://blog.csdn.net/L1778586311/article/details/112398545
[*]安装好深度学习库
[*]pytorch,PaddlePaddle(easy,自行安装)
[*]tensorflow(windows一般用户安装2.10.0及以下版本,或是某些版本对应的GPU分支),对于WSL2用户或者Linux,无脑pip install即可
[*]理由是2.10.0以后的TF版本不再撑持无WSL2的windows操作系统。
[*]详见:https://tensorflow.google.cn/install/gpu?hl=zh-cn
[*]测试是否查得到GPU:
pytorch:
import torch
print(torch.cuda.is_available())
PaddlePaddle:
import paddle
print(paddle.device.get_device())
# 有gpu像这样:
# gpu: 0, 表白检测到了
Tensorflow:
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
cpus = tf.config.experimental.list_physical_devices(device_type='CPU')
print(gpus, cpus)
那本章的介绍就到这里,下期我们讲Rapids的相关配置,及集成学习树的相关GPU化等。
页:
[1]