:)深度学习模型如何统计params量-|
:)深度学习模型如何统计params量-|
链接:深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结 (itvuer.com)
大概有params, summary,以及第三方库
还可以直接统计 参数量对计算量的影响 ,能直接统计占用算力资源
from thop import profile
1 大概统计
已知模型大小,如312M
计算为 312 00 0000 Bytes,
浮点数据 一个参数占4个字节,
import transformers
import torch
import os
from transformers import GPT2TokenizerFast, GPT2LMHeadModel, GPT2Config
from transformers import BertTokenizerFast
model_path10 = r"/home/arm/disk_arm_8T/xiaoliu/AI610-SDK-r1p0-00eac0/GPT2_chinese_chat/GPT2-chitchat/model_bs1/min_ppl_model_bs1_lay10"
model_path20 = r"/home/arm/disk_arm_8T/xiaoliu/AI610-SDK-r1p0-00eac0/GPT2_chinese_chat/GPT2-chitchat/model_chat1to6_bs8_lay20/min_ppl_model"
modelyuan = "/home/arm/disk_arm_8T/xiaoliu/AI610-SDK-r1p0-00eac0/GPT2_chinese_chat/GPT2-chitchat/model_20wfrom100w/min_ppl_model"
model = GPT2LMHeadModel.from_pretrained(modelyuan)
# update param
tol = sum((p.numel() for p in model.parameters()))
# unupdate param
buftol = sum((p.numel() for p in model.buffers()))
print("update params ===>", tol)
print("not update params ===>", buftol)
print("total ===> ", tol+buftol)
则计算参数量为312 00 0000 /4 = 78000000 个参数
2 精确计算
已知模型大小,如312M
则 模型中存在parameters() 更新的参数
模型buffers 未作更新 的 那部分参数
两部分相加就是参数总数
浙公网安备 33010602011771号