硬件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. 022- Java算数运算符

    算数运算符有哪些: 输入以下代码: public class Operator01 { public static void main(String[]args){ int a = 10; int b ...

  2. 12- APP接口测试以及接口文档的分析

    什么是接口? 为什么要做接口测试? 接口测试流程 需求评审 需求分析 接口用例设计 执行测试用例 bug的定位于追踪 接口文档分析 接口文档分析:开发 内容: 1.接口名称 2.接口地址 3.支持方式 ...

  3. 【JVM】JVM中的垃圾回收算法

    1.标记 -清除算法 "标记-清除"(Mark-Sweep)算法,如它的名字一样,算法分为"标记"和"清除"两个阶段:首先标记出所有需要回收 ...

  4. idea使用lombok不生效

    问题: 在maven项目中引入lombok的依赖,可是依旧无法在实体类中生效 <dependency> <groupId>org.projectlombok</group ...

  5. Mysql杂项配置:sql_mode

    常用配置: SHOW VARIABLES LIKE 'sql_mode'; SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGI ...

  6. Could not contact [localhost:8005]. Tomcat may not be running.

    出错环境介绍: Tomcat-version:8.5.56 JDK-version:1.8.0_152 Linux:CentOS-7 错误信息 sh /opt/apache-tomcat-8.5.56 ...

  7. Web中的相对路径和绝对路径

    前台路径:浏览器端发起的资源请求路径 后台路径:服务器端发起的资源请求路径

  8. .Net 中两分钟集成敏感词组件

    现如今大部分服务都会有用户输入,为了服务的正常运行,很多时候不得不针对输入进行敏感词的检测.替换.如果人工做这样的工作,不仅效率低,成本也高.所以,先让代码去处理输入,成为了经济方便的途径.水弟在这里 ...

  9. MongoDB评论管理

    MongoDB简介 文章评论数据分析 相较于一般数据,文章评论一般有如下特点: 数据量巨大.通常评论量要比帖子.文章大很多 写入操作频繁. 价值较低.一般来说,我们的主要目标还是在帖子(文章)本身. ...

  10. 初识ClickHouse——安装与入门

    前言: 久闻 ClickHouse 大名,一直没有去详细了解.近期看了下 ClickHouse 相关文档,决定安装体验下.想了解 ClickHouse 的小伙伴可以一起跟着学习哦.本篇文章主要介绍 C ...