位置: IT常识 - 正文

计算模型的GFLOPs和参数量 & 举例VGG16和DETR(计算模型的层次划分)

编辑:rootadmin
计算模型的GFLOPs和参数量 & 举例VGG16和DETR

推荐整理分享计算模型的GFLOPs和参数量 & 举例VGG16和DETR(计算模型的层次划分),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算模型的参数量和计算量,计算模型的作用,计算模型的创建与计算机有关,计算模型的层次划分,计算模型的概念,计算模型的概念,计算模型的概念,计算模型的层次划分,内容如对您有帮助,希望把文章链接给更多的朋友!

近期忙于写论文,分享一下论文中表格数据的计算方法。

目录

一、FLOPS、FLOPs和GFLOPs的概念

二、计算VGG16的GFLOPs和参数量

三、计算DETR的GFLOPs和参数量

四、整理数据表格


一、FLOPS、FLOPs和GFLOPs的概念FLOPS:注意S是大写,是 “每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。GFLOPs:一个GFLOPs等于每秒十亿(=10^9)次的浮点运算。二、计算VGG16的GFLOPs和参数量from thop import profileimport torchimport torchvision.models as modelsmodel = models.vgg16()device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")model.to(device)input = torch.zeros((1, 3, 224, 224)).to(device)flops, params = profile(model.to(device), inputs=(input,))print("参数量:", params)print("FLOPS:", flops)计算模型的GFLOPs和参数量 & 举例VGG16和DETR(计算模型的层次划分)

>>>output

参数量: 138357544.0 FLOPS: 15470314496.0

三、计算DETR的GFLOPs和参数量首先,访问网址:GitHub - facebookresearch/detr: End-to-End Object Detection with Transformers然后,下载DETR源码压缩包,调通源码。最后,把下面的代码封装到py文件中,放到DETR源码的根目录即可。import osimport timefrom PIL import Imageimport matplotlib.pyplot as pltimport torchimport torchvision.transforms as Ttorch.set_grad_enabled(False)from models import build_modelimport argparsefrom torch.nn.functional import dropout,linear,softmaxdef get_args_parser(): parser = argparse.ArgumentParser('Set transformer detector', add_help=False) parser.add_argument('--lr', default=1e-4, type=float) parser.add_argument('--lr_backbone', default=1e-5, type=float) parser.add_argument('--batch_size', default=1, type=int) parser.add_argument('--weight_decay', default=1e-4, type=float) # parser.add_argument('--epochs', default=300, type=int) parser.add_argument('--epochs', default=100, type=int) parser.add_argument('--lr_drop', default=200, type=int) parser.add_argument('--clip_max_norm', default=0.1, type=float, help='gradient clipping max norm') # Model parameters parser.add_argument('--frozen_weights', type=str, default=None, help="Path to the pretrained model. If set, only the mask head will be trained") # * Backbone parser.add_argument('--backbone', default='resnet50', type=str, help="Name of the convolutional backbone to use") parser.add_argument('--dilation', action='store_true', help="If true, we replace stride with dilation in the last convolutional block (DC5)") parser.add_argument('--position_embedding', default='sine', type=str, choices=('sine', 'learned'), help="Type of positional embedding to use on top of the image features") # * Transformer parser.add_argument('--enc_layers', default=6, type=int, help="Number of encoding layers in the transformer") parser.add_argument('--dec_layers', default=6, type=int, help="Number of decoding layers in the transformer") parser.add_argument('--dim_feedforward', default=2048, type=int, help="Intermediate size of the feedforward layers in the transformer blocks") parser.add_argument('--hidden_dim', default=256, type=int, help="Size of the embeddings (dimension of the transformer)") parser.add_argument('--dropout', default=0.1, type=float, help="Dropout applied in the transformer") parser.add_argument('--nheads', default=8, type=int, help="Number of attention heads inside the transformer's attentions") parser.add_argument('--num_queries', default=40, type=int, help="Number of query slots") # 论文中对象查询为100 parser.add_argument('--pre_norm', action='store_true') # * Segmentation parser.add_argument('--masks', action='store_true', help="Train segmentation head if the flag is provided") # Loss parser.add_argument('--no_aux_loss', dest='aux_loss', action='store_false', help="Disables auxiliary decoding losses (loss at each layer)") # * Matcher parser.add_argument('--set_cost_class', default=1, type=float, help="Class coefficient in the matching cost") parser.add_argument('--set_cost_bbox', default=5, type=float, help="L1 box coefficient in the matching cost") parser.add_argument('--set_cost_giou', default=2, type=float, help="giou box coefficient in the matching cost") # * Loss coefficients parser.add_argument('--mask_loss_coef', default=1, type=float) parser.add_argument('--dice_loss_coef', default=1, type=float) parser.add_argument('--bbox_loss_coef', default=5, type=float) parser.add_argument('--giou_loss_coef', default=2, type=float) parser.add_argument('--eos_coef', default=0.1, type=float, help="Relative classification weight of the no-object class") # dataset parameters parser.add_argument('--dataset_file', default='coco') parser.add_argument('--coco_path', default='', type=str) parser.add_argument('--coco_panoptic_path', type=str) parser.add_argument('--remove_difficult', action='store_true') parser.add_argument('--output_dir', default='E:\project_yd\paper_sci_one_yd\Transformer\DETR\detr\\runs\\train', help='path where to save, empty for no saving') parser.add_argument('--device', default='cuda', help='device to use for training / testing') parser.add_argument('--seed', default=42, type=int) # ============================================================================= # parser.add_argument('--resume', default='', help='resume from checkpoint') # ============================================================================= # parser.add_argument('--start_epoch', default=0, type=int, metavar='N', help='start epoch') parser.add_argument('--eval', action='store_true') parser.add_argument('--num_workers', default=2, type=int) # distributed training parameters parser.add_argument('--world_size', default=1, type=int, help='number of distributed processes') parser.add_argument('--dist_url', default='env://', help='url used to set up distributed training') return parserif __name__ == '__main__': parser = argparse.ArgumentParser('DETR training and evaluation script', parents=[get_args_parser()]) args = parser.parse_args() # 建立模型 model, criterion, postprocessors = build_model(args) model.to('cuda:0') url = r'detr-r50-dc5-f0fb7ef5.pth' state_dict = torch.load(url) # print(state_dict) # 加载模型参数,以字典的形式表示 model.load_state_dict(state_dict['model']) model.eval() # 把字符串类型转换成字典类型 # ==================================================== # from thop import profile import torchsummary device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model.to(device) input = torch.zeros((1, 3, 800, 1422)).to(device) flops, params = profile(model.to(device), inputs=(input,)) print("参数量:", params) print("FLOPS:", flops) # ==================================================== #

>>> output

参数量: 36739785.0 FLOPS: 100937364480.0

四、整理数据表格ModelGFLOPsParamsVGG1615.4713.84 MDETR100.9436.74 M

>>> 如有疑问,欢迎评论区一起探讨!

本文链接地址:https://www.jiuchutong.com/zhishi/298853.html 转载请保留说明!

上一篇:【关系抽取】深入浅出讲解实体关系抽取(介绍、常用算法)(关系抽取系统的要求)

下一篇:【魔改YOLOv5-6.x(中)】加入ACON激活函数、CBAM和CA注意力机制、加权双向特征金字塔BiFPN(魔改6.67)

  • 网站发展的四个阶段需要采取的网站推广方法(网站发展的四个阶段)

    网站发展的四个阶段需要采取的网站推广方法(网站发展的四个阶段)

  • 笔记本电脑忘记密码了怎么解开(笔记本电脑忘记开机密码怎么重置)

    笔记本电脑忘记密码了怎么解开(笔记本电脑忘记开机密码怎么重置)

  • 陌陌头像有绿色点是什么意思(陌陌头像有绿色的图案)

    陌陌头像有绿色点是什么意思(陌陌头像有绿色的图案)

  • 苹果手机设备管理验证不了(苹果手机设备管理器在哪里打开)

    苹果手机设备管理验证不了(苹果手机设备管理器在哪里打开)

  • 为什么qq留言会莫名其妙消失(为什么给别人qq留言留上一会儿,就消失了)

    为什么qq留言会莫名其妙消失(为什么给别人qq留言留上一会儿,就消失了)

  • 淘宝活动外围和会场的区别(淘宝外围活动怎么报名)

    淘宝活动外围和会场的区别(淘宝外围活动怎么报名)

  • 为什么人脸识别突然不能用了(为什么人脸识别录入不了)

    为什么人脸识别突然不能用了(为什么人脸识别录入不了)

  • 企业微信视频会议每个人都能看到吗(企业微信视频会议最多几个人)

    企业微信视频会议每个人都能看到吗(企业微信视频会议最多几个人)

  • 苹果深色模式怎么打开(苹果深色模式怎么放在控制中心)

    苹果深色模式怎么打开(苹果深色模式怎么放在控制中心)

  • vivo无法充电咨询售后怎么回事(vivo无法充电咨询售后维修)

    vivo无法充电咨询售后怎么回事(vivo无法充电咨询售后维修)

  • 淘宝严重不当注册怎么办(淘宝严重不当注册是什么意思)

    淘宝严重不当注册怎么办(淘宝严重不当注册是什么意思)

  • iphone音量键莫名弹出(苹果音量键一直乱跳)

    iphone音量键莫名弹出(苹果音量键一直乱跳)

  • 爱奇艺能不能投屏电视(爱奇艺能不能投屏到电视机上面看)

    爱奇艺能不能投屏电视(爱奇艺能不能投屏到电视机上面看)

  • ps怎么减去顶层(ps里面怎么减去顶层)

    ps怎么减去顶层(ps里面怎么减去顶层)

  • 淘宝双十一啥时候开始(淘宝双十一啥时候开始满减)

    淘宝双十一啥时候开始(淘宝双十一啥时候开始满减)

  • 苹果系统30g怎么清理(iphone系统30g)

    苹果系统30g怎么清理(iphone系统30g)

  • oppo计算器在哪里找到(oppo手机计算器在哪里找到)

    oppo计算器在哪里找到(oppo手机计算器在哪里找到)

  • mate30 pro屏幕尺寸(mate30pro屏幕尺寸长宽)

    mate30 pro屏幕尺寸(mate30pro屏幕尺寸长宽)

  • 唯品会退款进度在哪看(唯品会退款速度)

    唯品会退款进度在哪看(唯品会退款速度)

  • 荣耀v9电池容量(荣耀v9电池容量更换8000mah是否可以)

    荣耀v9电池容量(荣耀v9电池容量更换8000mah是否可以)

  • 华为nova5i有呼吸灯吗(华为nova5i呼吸灯在哪里设置)

    华为nova5i有呼吸灯吗(华为nova5i呼吸灯在哪里设置)

  • pdf怎么加密(pdf怎么加密部分信息)

    pdf怎么加密(pdf怎么加密部分信息)

  • Linux怎么使用压缩和解压到指定目录的命令?(linux中压缩)

    Linux怎么使用压缩和解压到指定目录的命令?(linux中压缩)

  • Linux系统之间拷贝文件的方法总结(linux系统之间拷贝文件命令)

    Linux系统之间拷贝文件的方法总结(linux系统之间拷贝文件命令)

  • DRWTSN16.EXE是病毒程序吗 DRWTSN16进程是不是病毒(winspool.drv病毒)

    DRWTSN16.EXE是病毒程序吗 DRWTSN16进程是不是病毒(winspool.drv病毒)

  • 1050ti能玩绝地求生吗,1050ti绝地求生评测(1050ti能玩绝地求生吗)

    1050ti能玩绝地求生吗,1050ti绝地求生评测(1050ti能玩绝地求生吗)

  • 路由器登录地址如何查看?查看路由器登陆地址方法(华硕路由器登录地址)

    路由器登录地址如何查看?查看路由器登陆地址方法(华硕路由器登录地址)

  • 既简易计税又一般计税的进项专票可以抵扣吗
  • 电费的增值税税率是多少
  • 办理出口业务流程
  • 个人所得税当月计提下月申报
  • 个人所得税怎么算公式是什么
  • 定额发票验旧后怎么报税
  • 补交的增值税可以从留抵里面扣嘛
  • 工会经费为员工计税依据是什么
  • 财产保险合同印花税计税依据
  • 设备安装成本如何核算
  • 跨年销售收入退回增值税处理
  • 外商企业所得税可享受什么优惠政策
  • 小规模纳税人不允许开具零税率发票
  • 公司对公租车保险的规定
  • 化工类资质建筑企业有哪些
  • 车辆保险可以开票吗
  • 增值税专用发票可以开电子发票吗
  • 企业自建房是什么意思
  • 怎么进行利润招财
  • 活动板房增值税税率
  • 2020国家生育津贴多少钱
  • 股权转让为什么不征收增值税
  • 利润表申报本年怎么填
  • 享受小微企业所得税优惠条件2022
  • 协会会费入账科目是哪个
  • 合同返点提成犯法吗
  • 分期消费的实际收益
  • 不确定金额的应收账款
  • 企业合并的会计分录
  • 如何设置电脑关机时清理使用痕迹
  • php开发的优点与不足
  • adb是什么程序
  • 政府补助退回的账务处理
  • 新公司成立前期费用
  • 企业注销时无力缴纳社保
  • 前端生成pdf文件
  • form action target
  • php foreach二维数组
  • 增值税价外费用是什么意思
  • php数组分类
  • 学习率设置
  • vue–router
  • 计算机专业的毕业设计作品新颖
  • 未分配利润的核算内容
  • 支付给境外个人的服务费
  • python中的string
  • vue+elementui
  • 厂房办公用品费用怎么算
  • 员工出差预借差旅费入的借贷
  • 企业注销库存怎么处理
  • 长期资产的减值会影响CFO吗
  • mysql批量查询
  • 销售开票会计分录怎么做
  • 员工意外伤害保险最多赔多少
  • 小公司财务做内账流程
  • 公允价值变动损益属于什么科目
  • 无形资产的处置损益
  • 预计负债转回对所得税费用的影响
  • 开办费新会计准则
  • 住宅可以注册什么类型的公司
  • 工作经费是什么
  • 出口退税进项税都抵扣了怎么办
  • 公司的日常费用支出能税前全部扣除吗?
  • 开出口未开出口怎么办
  • 在建工程的进项税额不再分2年抵扣
  • 给客户购物卡如何充钱
  • 专用发票金额大实际报销金额小会计分录怎么做
  • 三大财务报表英文
  • win10edge浏览器默认主页网址
  • win10预览版选哪个
  • 经典璧纸
  • macbook备份数据
  • 电脑xp操作系统
  • 电脑连不上网怎么回事 笔记本
  • centos6 docker
  • win8怎么到win7
  • js的设计模式有哪些
  • 地税局专管员
  • 济南高新区国家税务局
  • 迈凯伦gt1
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设