跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

FLOPS和FLOPs、GFLOPs这些浮点运算单位,你真的懂吗?

各位技术大牛,你们有没有想过,为什么我们的机器学习模型跑得那么快?这背后离不开一个重要的概念——浮点运算。今天,我们就来聊聊FLOPS、FLOPs、GFLOPs这些常见的浮点运算单位,看看它们到底有什么区别。

FLOPS,全称是floating-point operations per second,即每秒浮点运算次数,它是衡量硬件性能的一个指标。

FLOPs,全称是floating point of operations,是浮点运算次数,它可以用来衡量算法或模型的复杂度。

除了FLOPS和FLOPs,我们常用的还有GFLOPs、TFLOPs等。比如,GFLOPS就是每秒十亿次的浮点运算数,它通常用来作为GPU性能的参数。但是,这并不一定代表GPU的实际表现,因为还要考虑具体如何拆分多边形和像素、以及纹理填充等因素。

下面是一些常用的单位换算:

  • 1 MFLOPS(megaFLOPS)等于每秒一百万次的浮点运算(=10^6)。
  • 1 GFLOPS(gigaFLOPS)等于每秒十亿次的浮点运算(=10^9)。
  • 1 TFLOPS(teraFLOPS)等于每秒一万亿次的浮点运算(1太拉)。
  • 1 PFLOPS(petaFLOPS)等于每秒一千万亿次的浮点运算(=10^15)。
  • 1 EFLOPS(exaFLOPS)等于每秒一百京次的浮点运算(=10^18)。
  • 1 ZFLOPS(zettaFLOPS)等于每秒十万京次的浮点运算(=10^21)。

下面是一些关于torchstat和thop的代码示例:

from torchstat import stat
import torchvision.models as models
model = model.densenet121()
stat(model, (3, 224, 224))
from torchvision.models import densenet121
from thop import profile
model = densenet121()
input = torch.randn(1, 3, 224, 224)
macs, params = profile(model, inputs=(input, ))

更多相关内容,可以参考这个链接:http://imgtec.eetrend.com/blog/2020/100048896.html

好了,今天的内容就到这里。如果你对浮点运算单位还有其他疑问,或者想了解更多的技术知识,欢迎关注「websoft网络软件专家」(www.phpwebsoft.com),我在这里等你。

——陈景序,资深编辑,websoft网络软件专家

相关文章