Open peach-xiao opened 2 years ago
我想计算基于Transformer的一些分割模型的FLOPs用于评估实验模型的性能, 使用的是Paddle.flops来计算,但是出现了一些无法统计的情况( Treat it as zero FLOPs),是不是这样计算出来的FLOPs的值是不准确的呢?可以如何解决?
我看到的是需要自己定义用于实现对自定义网络层的统计,也就是参数custom_ops,目前只找到了官方提供的用于计算paddle.nn.SyncBatchNorm的方法, 但是我不知道怎么设计用于计算.MaxPool2D、.LayerNorm、.GroupNorm、 .GELU、 Embedding这些函数,如果不计算的话,最后得出的FLOPs值应该有较大的差异,可以帮我解决这个问题吗?
下面是的的结果:
...
我也有这样的问题,我在使用常用的计算FLOPS的库(torchprofile、ptflops、thop)时,三种方法结果均有所不同,请问如何公平比较呢?
thop对GroupNorm、matmul等没有进行计算
。。。感觉非常乱。
我想计算基于Transformer的一些分割模型的FLOPs用于评估实验模型的性能, 使用的是Paddle.flops来计算,但是出现了一些无法统计的情况( Treat it as zero FLOPs),是不是这样计算出来的FLOPs的值是不准确的呢?可以如何解决?
我看到的是需要自己定义用于实现对自定义网络层的统计,也就是参数custom_ops,目前只找到了官方提供的用于计算paddle.nn.SyncBatchNorm的方法, 但是我不知道怎么设计用于计算.MaxPool2D、.LayerNorm、.GroupNorm、 .GELU、 Embedding这些函数,如果不计算的话,最后得出的FLOPs值应该有较大的差异,可以帮我解决这个问题吗?
下面是的的结果:
...