硬件delay评估表
硬件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评估表的更多相关文章
- deeplearning模型分析
deeplearning模型分析 FLOPs paddleslim.analysis.flops(program, detail=False) 获得指定网络的浮点运算次数(FLOPs). 参数: pr ...
- 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践
01 引言 随着用户的增长.业务的发展,大型企业用户的业务系统的数据量越来越大,超大数据表的性能问题成为阻碍业务功能实现的一大障碍.其中,流水表作为最常见的一类超大表,是企业级用户经常碰到的性能瓶颈. ...
- 金蝶K3表
系统ID 表ID 表名 表中文名 表说明 FType FSefDefSign0 0 t_VoucherGroup 凭证字表 ...
- 外包项目测试工作量评估指南&外包项目测试验收流程
## ### 外包项目测试工作量评估指南 1.目的 编写本指导书的目的旨在为我公司进行测试外包服务工作进行指导,帮助项目经理和相关人员编写测试方案.评估工作量.制定测试计划和测试策略等, ...
- SQL Server调优系列进阶篇(查询优化器的运行方式)
前言 前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符. ...
- 内存中 OLTP - 常见的工作负荷模式和迁移注意事项(三)
----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<In-Memory OLTP – Comm ...
- Android开发-API指南-<uses-feature>
<uses-feature> 英文原文:http://developer.android.com/guide/topics/manifest/uses-feature-element.ht ...
- Oracle调优总结(经典实践 重要)
转载:http://langgufu.iteye.com/blog/1974211 Problem Description:1.每个表的结构及主键索引情况2.每个表的count(*)记录是多少3.对于 ...
- SQL Server调优系列进阶篇 - 查询优化器的运行方式
前言 前面我们的几篇文章介绍了一系列关于运算符的基础介绍,以及各个运算符的优化方式和技巧.其中涵盖:查看执行计划的方式.几种数据集常用的连接方式.联合运算符方式.并行运算符等一系列的我们常见的运算符. ...
随机推荐
- 各种数据类型是否可进入if判断
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux启动流程和服务管理(init和systemd)
目录 一:Linux启动流程 init和Systemd的区别 二:Linux服务管理(service,systemctl) 一:Linux启动流程 Rhel6启动过程: Rhel7启动过程: GRUB ...
- Win64 驱动内核编程-3.内核里使用内存
内核里使用内存 内存使用,无非就是申请.复制.设置.释放.在 C 语言里,它们对应的函数是:malloc.memcpy.memset.free:在内核编程里,他们分别对应 ExAllocatePool ...
- 学习Canvas绘图与动画基础 canvas入门(一)
一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...
- Raspberry PI 4B 安装和配置 Raspbian
做记录,以备之后需要,待完成中 目录 做记录,以备之后需要,待完成中 下载镜像和安装程序 ssh 远程访问 下载镜像和安装程序 Raspbian: installer: ssh 远程访问 开启ssh ...
- JMeter关联陌生又熟悉
JMeter关联是什么 JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而把接口关联起来. JMet ...
- MySQL密码复杂度与密码过期策略介绍
前言: 年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等.特别是进行等保评测时,评测机构会要求具备密码安全策略.其实 MySQL 系统本身可以设置密 ...
- MySQL redo与undo日志解析
前言: 前面文章讲述了 MySQL 系统中常见的几种日志,其实还有事务相关日志 redo log 和 undo log 没有介绍.相对于其他几种日志而言, redo log 和 undo log 是更 ...
- 『动善时』JMeter基础 — 17、JMeter配置元件【HTTP请求默认值】
目录 1.HTTP请求默认值介绍 2.HTTP请求默认值界面 3.HTTP请求默认值的使用 (1)用于演示的项目说明 (2)测试计划内包含的元件 (3)说明HTTP请求默认值用法 4.总结 5.拓展知 ...
- 进程Queue和线程Queue区别
进程Queue from multiprocessing import Queue q=Queue() 线程Queue import queue q=queue.Queue()