bert模型参数量params与复杂度flops的计算

可视化工具ptflops

from ptflops import get_model_complexity_info
flops,params=get_model_complexity_info(model,(1,15))
print(flops,params)

model:就是构建的模型
(1,15):模型输入的size,这里的输入必须是一个tensor

flops:能够输出bert网络的结构,包括各层的参数和计算复杂度
params:1.28GMac,99.95M 表示总的计算复杂度为1.28GMac,模型参数量为99.95M,M表示百万量级

  • bert模型参数
    bert模型参数量params与复杂度flops的计算_第1张图片
    base模型的总参数量为110M,经过与base模型的config对比发现,本模型中的vocab_size是小于base中默认的词表大小的,所以在enbedding层的参数会小一些,进而得到的总参数量99.95M<110M。

具体的计算过程,可以查看
bert/transformer模型的参数大小计算
计算量和参数量的计算方法
flops分析和解释

你可能感兴趣的:(深度学习开发,bert,深度学习,人工智能)