Cupy的用处概述

Cupy的用处概述,第1张

前提:传统的数组矩阵都是通过numpy来设定,然后numpy来调用cpu计算!

cupy的作用:数组和矩阵都是通过cupy来设定,然后cupy来调用gpu并行计算!

区别与联系:

cupy的优势 :专门进行大型、高维数组/矩阵的快速计算(非常非常快)!

要想实现数组/矩阵的快速运算,要注意3点:

下面用一个很简单的例子即可体现上面的内容:循环矩阵相加

三组循环矩阵相加的耗时结果:

彼此差距非常明显!上文中需要注意的2、3点非常非常重要!

由本例也可看出,cupy的gpu并行计算潜力有多大!

本例的计算量还是太小,一个GTX-1050的笔记本显卡,都根本还没发挥其功力!如果将cupy应用到服务器上、应用到深度学习之中,潜力非常大!

本文集会持续更新cupy的相关操作,并实时将其与对应的numpy使用进行对比。

numpy教程网站

cupy教程网站

用cupy和numpy直接创建的数组/矩阵,类型是不一样的!无法相互之间进行运算。

用type查看二者的数据类型

其实,如果只需要进行大量数组/矩阵间计算,然后将结果存储到某个" 容器 "之中,以cupy目前实现的函数功能来看,只用cupy来完成肯定是够的,完全可以一点没有numpy的影子。

但是,很多的" 第三方包是不认识cupy的数据类型 "的!本人就发现" matplotlib "就不识别cupy的数据类型!因此,如果除" 纯计算 "外还有别的需求,需要将cupy数据先转为numpy数据(numpy是转不了cupy的!)

cupy转numpy的函数: cupy.asnumpy()

结果:

有了这么简单的数据互转函数,只要计算量大,可以用cupy完全替换numpy!

直到需要使用其他第三方包的时候,再把cupy数据类型转回到numpy即可。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/23845.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-16
下一篇2023-02-16

发表评论

登录后才能评论

评论列表(0条)

    保存