硬件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. MYSQL中TIMESTAMP类型的默认值理解

    MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间:表:----------- Table   Create Table      ...

  2. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  3. python 压缩模块大杂烩(zipfile,bz2,lzma,gzip,tarfile,zlib)

    [*] 以下压缩模块请结合python的官方文档(https://docs.python.org/3.5/library/index.html)来实践或者对比(我的是python 3.5) 1.pyt ...

  4. SpringMVC中<mvc:default-servlet-handler/>的作用

    问题所在:DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当成一个普通请求 ...

  5. PHP编程实现多维数组按照某个键值排序的方法

    1.array_multisort()函数对多个数组或多维数组进行排序. //对数组$hotcat按照count键值大小降序进行排序: $hotcat =array(  array('1501'=&g ...

  6. CM5.11与CDH5.11安装使用说明

    1.cdh5 支持jdk7和jdk82.cloudera只支持oracle发布的jdk3.集群中所有主机的jdk版本必须一致4.生态圈中用到的所有组件所依赖的jdk版本必须一致5.cloudera m ...

  7. windows桌面图标及任务管理栏丢失

    背景环境: 卸载某些软件,如Auto CAD 2011 之后,会出现桌面图标和任务栏丢失的现象,某些重要文件没有保存或者不能注销及重启的动作 1:按组合键Ctrl+Shift+Esc,键调出任务管理器 ...

  8. 深入探索Android热修复技术原理读书笔记 —— 资源热修复技术

    该系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 1 普遍的实现方式 Android资源的热修复,就 ...

  9. JavaScript 中正则匹配时结果不一致的问题

    创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...

  10. Linux上的Shebang符号(#!)

    使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗? 本文了将给你简单介绍一下Shebang("#!")这个符号. 首先,这个符号(#!)的名称, ...