位置: 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)

  • 奇异果tv会员和爱奇艺通用吗(奇异果tv会员和会员区别)

    奇异果tv会员和爱奇艺通用吗(奇异果tv会员和会员区别)

  • 微信怎么关闭黑色模式(微信怎么关闭黑屏模式)

    微信怎么关闭黑色模式(微信怎么关闭黑屏模式)

  • ios14都支持哪些设备呢(ios14支持的iphone)

    ios14都支持哪些设备呢(ios14支持的iphone)

  • qq怎样设置自动回复(QQ怎样设置自动加好友)

    qq怎样设置自动回复(QQ怎样设置自动加好友)

  • iphone显示已取消通话(苹果打电话显示已取消)

    iphone显示已取消通话(苹果打电话显示已取消)

  • 手机soc是什么意思(手机中的soc是什么意思)

    手机soc是什么意思(手机中的soc是什么意思)

  • 荣耀30pro支持微距拍摄吗(荣耀30pro支持微信运动吗)

    荣耀30pro支持微距拍摄吗(荣耀30pro支持微信运动吗)

  • 90赫兹刷新率手机有什么意义(90hz刷新率手机)

    90赫兹刷新率手机有什么意义(90hz刷新率手机)

  • echolife hg8120c是多少兆的光猫(echolife hg8120c是百兆还是千兆)

    echolife hg8120c是多少兆的光猫(echolife hg8120c是百兆还是千兆)

  • 手机亮度自动变暗怎么回事(手机亮度自动变化是咋回事)

    手机亮度自动变暗怎么回事(手机亮度自动变化是咋回事)

  • 怎么在黑名单里把人拉出来(怎么在黑名单里删除)

    怎么在黑名单里把人拉出来(怎么在黑名单里删除)

  • n卡数字振动伤害眼睛吗(n卡数字振动没应用到游戏咋办)

    n卡数字振动伤害眼睛吗(n卡数字振动没应用到游戏咋办)

  • 京豆退货了还会退回吗(退货后,使用的京豆怎么办)

    京豆退货了还会退回吗(退货后,使用的京豆怎么办)

  • nova6是双模5G吗 (nova6是双4g吗)

    nova6是双模5G吗 (nova6是双4g吗)

  • ipad2019可以插u盘吗(ipad能插u盘)

    ipad2019可以插u盘吗(ipad能插u盘)

  • 华为mate30上面显示的hd(华为mate30上面有个圆圈怎么去掉)

    华为mate30上面显示的hd(华为mate30上面有个圆圈怎么去掉)

  • uefi启动win7(uefi启动win7卡在开机画面)

    uefi启动win7(uefi启动win7卡在开机画面)

  • 荣耀20pro设置后台运行(荣耀20pro设置页面)

    荣耀20pro设置后台运行(荣耀20pro设置页面)

  • oppor9tm有呼吸灯吗(oppor9手机呼吸灯在哪里设置)

    oppor9tm有呼吸灯吗(oppor9手机呼吸灯在哪里设置)

  • 苹果手机库乐队怎么下载不了(苹果手机库乐队在哪里找到)

    苹果手机库乐队怎么下载不了(苹果手机库乐队在哪里找到)

  • 苹果8p如何提高清晰度(苹果8p如何提高信号)

    苹果8p如何提高清晰度(苹果8p如何提高信号)

  • 华为智慧剪辑在哪里(华为智慧剪辑在哪里打开)

    华为智慧剪辑在哪里(华为智慧剪辑在哪里打开)

  • Linux中使用ln命令在文件之间建立连接的用法讲解(linux命令“ln file1 file2”的含义是)

    Linux中使用ln命令在文件之间建立连接的用法讲解(linux命令“ln file1 file2”的含义是)

  • macOS Big Sur 11.2.1 正式版更新推送

    macOS Big Sur 11.2.1 正式版更新推送

  • Novel-Ai本地部署教程(novelai本地部署电脑要求)

    Novel-Ai本地部署教程(novelai本地部署电脑要求)

  • 取得投资款属于什么过程
  • 一般纳税人的税收优惠政策
  • 计提附加税会计凭证怎么做会计分录
  • 从公司提款需要交税?
  • 生产成本里面的直接人工
  • 建筑行业预缴增值税可以用进项抵缴吗
  • 房地产企业预收款预缴增值税
  • 建筑企业预收款开票
  • 公司注销银行公户怎么注销
  • 进口设备在海关处保存2年出售时 计算税怎么算
  • 分期手术
  • 进口增值税已付发票未到如何入账
  • 帮别的公司做账的叫什么公司
  • 注册商标成功的标志图片
  • 福利费不交个人所得税会怎么样
  • 汽车修理厂如何做账
  • 个人所得税期末为负数审计调整
  • 通行费发票如何开具
  • 发票连号不许报销吗
  • 软件许可协议是什么意思
  • 增值税一般纳税人认定标准
  • 代购买东西流程
  • 拍卖抵债资产的缴税责任
  • 销售商品结转成本会计分录
  • acer笔记本电脑怎么恢复出厂设置
  • 注册会计师考试科目有哪些
  • 关于企业之间资金拆借的法律规定
  • vagrant 安装centos7
  • PHP:pg_client_encoding()的用法_PostgreSQL函数
  • 股东向公司借款合法吗
  • 职工重大疾病保险包括哪些
  • nuxt怎么用
  • 企业签订的技术合同
  • 业务招待费的纳税筹划
  • 委托外发加工会计分录
  • 山上覆盖着皑皑白雪
  • django pypi
  • 权重函数公式
  • tune a video:one-shot tuning of image diffusion models for text-to-video generation
  • gpu版本的pytorch
  • php 循环
  • php 文件目录
  • 利润表本年累计数公式
  • 权益法转换为成本法
  • 实收资本注入怎么操作
  • 施工现场补助规定
  • 暂估的原材料用不用记原材料明细账
  • 物业管理单位收取的物业费征不征收增值税
  • 进项税额不得从销项税额中抵扣项目是什么意思
  • 应交税费借方如何计算
  • 企业多结转的成本跨年怎么冲回?
  • 汽车保险费能不能不交
  • 房地产开发企业土地增值税怎么计算
  • sqlserver r服务
  • 如何在mysql显示当前用户
  • linux修改yum
  • window10自带的软件有哪些
  • 硬盘安装好了显示不出来怎么办
  • 四步清理手机垃圾的方法
  • win10浏览器下载不了软件怎么回事
  • linux apache2配置
  • win7系统怎么禁用win键
  • win10raw预览
  • jquery3.2.1
  • python制作数字拼图
  • html收藏夹导入
  • Node.js中的什么模块是用于处理文件和目录的
  • 零基础玩转python
  • 一个简单的网页
  • 详解python时间模块中的datetime模块
  • javascript获取数据类型
  • jQuery实现TAB选项卡切换特效简单演示
  • android动态添加view
  • jquery图片左右切换
  • 重庆网上税务局个人怎么绑定企业账户
  • 税控盘时间不对有影响吗
  • 泰兴市地方税务局
  • 哪些账本需要贴纸
  • 小规模印花税2023减半吗
  • 电子税务局备案财务会计制度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设