首页 > 其他分享 >:)深度学习模型如何统计params量-|

:)深度学习模型如何统计params量-|

时间:2023-04-17 19:13:38浏览次数:42  
标签:GPT2 模型 params 深度 import model arm

:)深度学习模型如何统计params量-|

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   未作更新  的 那部分参数

两部分相加就是参数总数

 

标签:GPT2,模型,params,深度,import,model,arm
From: https://www.cnblogs.com/lx63blog/p/17326829.html

相关文章

  • 基于蒙特卡洛法的概率潮流 以IEEE33节点的电网为研究对象 建立了光伏和风电的概率出力
    基于蒙特卡洛法的概率潮流 以IEEE33节点的电网为研究对象建立了光伏和风电的概率出力模型采用蒙特卡洛法进行随机抽样 之后基于抽样序列进行概率潮流计算最后得到电网的电压概率出力曲线程序有基于matpower和非matpower(效果好一点)ID:39400652301592315......
  • 基于多目标粒子群算法的微电网优化 首先构建了含风光柴储的微电网模型
    基于多目标粒子群算法的微电网优化首先构建了含风光柴储的微电网模型,之后以风光柴储运行成本最低和风光消纳最大为目标,建立了多目标优化模型,模型考虑功率平衡储能SOC等约束通过模型求解得到帕累托前沿再从前沿解中选取最优解得到微电网运行计划ID:3650652402605663......
  • 智能微电网优化运行 该微电网含有风光燃气轮机储能同时也与电网连接 程序建立其运行成
    智能微电网优化运行该微电网含有风光燃气轮机储能同时也与电网连接程序建立其运行成本最低的优化模型采用粒子群算法进行优化求解得到了其最优运行计划ID:7950652729393418......
  • opencv c++ 保存为位深度为1的png
    vector<int>compression_params;compression_params.push_back(IMWRITE_PNG_COMPRESSION);compression_params.push_back(3);compression_params.push_back(IMWRITE_PNG_BILEVEL);compression_params.push_back(1);imwrite("text2.png&......
  • 机器学习-模型评价基础概念
    1:训练集、测试集及其函数分割;2:准确率、召回率;3:交叉验证;4:混淆矩阵;(1)介绍TP、FN、TN、FP、TPR、FPR等概念:https://zhuanlan.zhihu.com/p/3639240815:ROC曲线、AUC曲线;(1)ROC、AUC曲线讲解https://www.bilibili.com/video/BV1SK4y1K7v3/?spm_id_from=333.999.0.0......
  • Mybatis源码深度解析(转载)
    我们从一个简单案例入手,接着就是一步一步的剥开Mybatis的源码,大量的图文结合。Mybatis使用案例添加mybatis和mysql相关pom依赖。<!--Mybatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</......
  • Redis_大白话谈IO模型
    通俗理解多种IO模型前言我们以故事来讲我们经常遇到的多种IO模型,首先故事的情节是老李去买火车票,三天后买到一张退票,其中往返车站耗时1小时。里面主要包含的人员有:老李,黄牛,售票员,快递员多种IO模型阻塞IO模型老李去火车站买票,排了三天队买到一张退票耗费:在火车站等了三......
  • js深度拷贝
    法一:有局限性//通过js的内置对象JSON来进行数组对象的深拷贝functiondeepClone(obj:any):any{const_obj=JSON.stringify(obj),constobjClone=JSON.parse(_obj);returnobjClone;}这种简单粗暴的方法有其局限性,当值为undefined、function、symbol会在转换过程......
  • 《皇家骑士:300自走棋》携手来电科技,达成深度战略合作
    近日,跳跃互娱旗下高热度游戏《皇家骑士:300自走棋》与共享充电宝领域的开创企业《来电科技》达成深度战略合作。皇家骑士和来电科技联合定制充电宝,不但能充分发挥皇家骑士的IP效应,更为充电宝赋予了IP趣味元素,让用户享受到联合定制共享充电服务。本次战略合作,无论是对皇家骑士还是来......
  • 支持多模型数据分析探索的存算分离湖仓一体架构解析(上)
    当企业需要建设独立的数据仓库系统来支撑BI和业务分析业务时,有了“数据湖+数据仓库”的混合架构。但混合架构带来了更高的建设成本、管理成本和业务开发成本。随着大数据技术的发展,通过在数据湖层增加分布式事务、元数据管理、极致的SQL性能、SQL和数据API接口能力,企业可以基于统......