新聞中心

EEPW首頁 > 智能計算 > 進階指南 > 【OpenVINO】特定模型的條件編譯

【OpenVINO】特定模型的條件編譯

作者: 時間:2021-06-21 來源:英特爾 收藏

目錄

本文引用地址:http://www.butianyuan.cn/article/202106/426448.htm

Introduction

Building for different models

Building for devices with different ISA

簡介

通過排除推理中不必要的組件,可以顯著減少?二進制文件的大小。

可以從內部版本中排除以下組件:

1.nGraph和插件中的圖層和圖形轉換

2.nGraph 操作

3.CPU插件中的jit內核

4.不用于推理的任意代碼

然而,有一個很大的缺點- 由此產生的運行時只能與有限的一組模型和設備一起工作。

要利用,請安裝以下工具:

Python

為不同的模型構建

條件編譯分為兩個階段:

收集有關代碼使用情況的信息

在沒有未使用的組件或部件的情況下構建結果二進制文件

要應用條件編譯,請按照以下步驟:

1.執(zhí)行代碼使用分析:

i.使用以下選項運行CMake工具:-DENABLE_PROFILING_ITT=ON-DSELECTIVE_BUILD=COLLECT。

ii.選擇要在特定應用程序或目標設備中使用的多個型號。

iii.使用SEA_ITT_lib目標構建ITT收集器。

iv.在ITT收集器下運行目標應用程序,以分析每個模型的代碼使用情況。統(tǒng)計數(shù)據(jù)以.csv格式生成。

2.構建生成的二進制文件:

i.執(zhí)行以下選項的CMake工具: -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${ABSOLUTE_PATH_TO_STATISTICS_FILES}/*.csv

ii.cmake –build <cmake_build_directory>

強烈建議對Benchmark_app使用“-niter 1-nireq 1”標志。否則,跟蹤文件將非常大。

如果您使用的應用程序不是Benchmark_APP,請記住限制推理請求和迭代的數(shù)量。

為具有不同ISA的設備構建

構建具有不同 ISA 的設備與構建不同型號的設備非常相似(參見前一章)。區(qū)別僅在于代碼使用分析步驟。應該在目標設備上執(zhí)行分析步驟,并且應該將包含統(tǒng)計信息的所有 CSV 文件復制到構建計算機上。這些文件將用于最終的生成。

限制

?目前,Ninja build 系統(tǒng)不支持條件編譯 build。

? 版權方 2018-2021, 團隊



評論


相關推薦

技術專區(qū)

關閉