硬件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模型库