硬件delay评估表

硬件延时评估表用于快速评估一个模型在特定硬件环境和推理引擎上的推理速度。 Bw 主要用于定义PaddleSlim支持的硬件延时评估表的格式。

概述

硬件延时评估表中存放着所有可能的操作对应的延时信息,该表中的一个操作包括操作类型和操作参数,比如:操作类型可以是conv2d,对应的操作参数有输入特征图的大小、卷积核个数、卷积核大小等。 给定操作的延时依赖于硬件环境和推理引擎。

整体格式

硬件延时评估表以文件或多行字符串的形式保存。

硬件延时评估表第一行保存版本信息,后续每行为一个操作和对应的延时信息。

版本信息

版本信息以英文字符逗号分割,内容依次为硬件环境名称、推理引擎名称和时间戳。

  • 硬件环境名称: 用于标识硬件环境,可以包含计算架构类型、版本号等信息。
  • 推理引擎名称: 用于标识推理引擎,可以包含推理引擎名称、版本号、优化选项等信息。
  • 时间戳: 该评估表的创建时间。

操作信息

操作信息字段之间以逗号分割。操作信息与延迟信息之间以制表符分割。

conv2d

格式

op_type,flag_bias,flag_relu,n_in,c_in,h_in,w_in,c_out,groups,kernel,padding,stride,dilation\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • flag_bias (int) - 是否有 bias(0:无,1:有)。
  • flag_relu (int) - 是否有 relu(0:无,1:有)。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • c_out (int) - 输出 Tensor 的通道 (channel) 数。
  • groups (int) - 卷积二维层(Conv2D Layer)的组数。
  • kernel (int) - 卷积核大小。
  • padding (int) - 填充 (padding) 大小。
  • stride (int) - 步长 (stride) 大小。
  • dilation (int) - 膨胀 (dilation) 大小。
  • latency (float) - 当前op的延时时间

activation

格式

op_type,n_in,c_in,h_in,w_in\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • latency (float) - 当前op的延时时间

batch_norm

格式

op_type,active_type,n_in,c_in,h_in,w_in\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • active_type (string|None) - 激活函数类型,包含:relu, prelu, sigmoid, relu6, tanh。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • latency (float) - 当前op的延时时间

eltwise

格式

op_type,n_in,c_in,h_in,w_in\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • latency (float) - 当前op的延时时间

pooling

格式

op_type,flag_global_pooling,n_in,c_in,h_in,w_in,kernel,padding,stride,ceil_mode,pool_type\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • flag_global_pooling (int) - 是否为全局池化(0:不是,1:是)。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • kernel (int) - 卷积核大小。
  • padding (int) - 填充 (padding) 大小。
  • stride (int) - 步长 (stride) 大小。
  • ceil_mode (int) - 是否用 ceil 函数计算输出高度和宽度。0 表示使用 floor 函数,1 表示使用 ceil 函数。
  • pool_type (int) - 池化类型,其中 1 表示 pooling_max,2 表示 pooling_average_include_padding,3 表示 pooling_average_exclude_padding。
  • latency (float) - 当前op的延时时间

softmax

格式

op_type,axis,n_in,c_in,h_in,w_in\tlatency

字段解释

  • op_type(str) - 当前op类型。
  • axis (int) - 执行 softmax 计算的维度索引,应该在 [−1,rank − 1] 范围内,其中 rank 是输入变量的秩。
  • n_in (int) - 输入 Tensor 的批尺寸 (batch size)。
  • c_in (int) - 输入 Tensor 的通道 (channel) 数。
  • h_in (int) - 输入 Tensor 的特征高度。
  • w_in (int) - 输入 Tensor 的特征宽度。
  • latency (float) - 当前op的延时时间。

硬件delay评估表的更多相关文章

  1. deeplearning模型分析

    deeplearning模型分析 FLOPs paddleslim.analysis.flops(program, detail=False) 获得指定网络的浮点运算次数(FLOPs). 参数: pr ...

  2. 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践

    01 引言 随着用户的增长.业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍.其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈. ...

  3. 金蝶K3表

    系统ID     表ID     表名     表中文名     表说明     FType     FSefDefSign0     0     t_VoucherGroup     凭证字表    ...

  4. 外包项目测试工作量评估指南&外包项目测试验收流程

    ## ### 外包项目测试工作量评估指南 1.目的        编写本指导书的目的旨在为我公司进行测试外包服务工作进行指导,帮助项目经理和相关人员编写测试方案.评估工作量.制定测试计划和测试策略等, ...

  5. SQL Server调优系列进阶篇(查询优化器的运行方式)

    前言 前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符. ...

  6. 内存中 OLTP - 常见的工作负荷模式和迁移注意事项(三)

    ----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<In-Memory OLTP – Comm ...

  7. Android开发-API指南-<uses-feature>

    <uses-feature> 英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.ht ...

  8. Oracle调优总结(经典实践 重要)

    转载:http://langgufu.iteye.com/blog/1974211 Problem Description:1.每个表的结构及主键索引情况2.每个表的count(*)记录是多少3.对于 ...

  9. SQL Server调优系列进阶篇 - 查询优化器的运行方式

    前言 前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符. ...

随机推荐

  1. TP5.1 遇见问题整理

    1. 获取当前执行sql fetchSql(true) self::table('ecm_draw_address')->field('id')->where(array('store_i ...

  2. ajax异步登录

    以下是ajax代码示例: HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  3. IOS Widget(3):SwiftUI开发小组件布局入门

    引言   经过上一篇文章,我们已经可以在桌面上展示出一个小组件出来了,你肯定想小试牛刀,动手改一改,那我们就从改小组件的布局做起吧.本文不会讲解Swift语法,如果是熟悉Flutter,Kotlin这 ...

  4. hdu2155 小黑的镇魂曲(dp)

    题意:                             小黑的镇魂曲 Problem Description 这个事情发生在某一天,当小黑和SSJ正在约会的时候,邪恶的Guner抓走了SSJ, ...

  5. Linux配置NTP时间服务器(date、hwclock、NTP服务器的配置)

    目录 date命令 hwclock命令 NTP服务的部署 服务端 客户端 date命令 date 命令的作用是查看和设置Linux中的系统日期时间 date                      ...

  6. Python中zipfile压缩文件模块的使用

    目录 zipfile 压缩一个文件 解压文件 高级应用 利用 zipfile 模块破解压缩文件口令:Python脚本破解压缩文件口令 zipfile Python 中 zipfile 模块提供了对 z ...

  7. 14.PHP_PHP与XML技术

    PHP与XML技术 先把概念粘过来: 先来个基本模板: <?xml version="1.0" encoding="gb2312" standalone= ...

  8. jquery里面.length和.size()有什么区别

    区别: 1.针对标签对象元素,比如数html页面有多少个段落元素<p></p>,那么此时的$("p").size()==$("p").l ...

  9. 每天一道面试题LeetCode 01 -- 两数之和

    Two Sum 两数之和 Given an array of integers, find two numbers such that they add up to a specific target ...

  10. typecho+宝塔搭建

    在这个互动视频中很详细的讲解到了 https://www.bilibili.com/video/BV1o4411r7x5?spm_id_from=pageDriver