:)深度学习模型如何统计params量-|
:)深度学习模型如何统计params量-|
链接:深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结 (itvuer.com)
大概有params, summary,以及第三方库
还可以直接统计 参数量对计算量的影响 ,能直接统计占用算力资源
from thop import profile
1 大概统计
已知模型大小,如312M
计算为 312 00 0000 Bytes,
浮点数据 一个参数占4个字节,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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 未作更新 的 那部分参数
两部分相加就是参数总数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人