新闻中心

EEPW首页 > 智能计算 > 进阶指南 > 【OpenVINO】特定模型的条件编译

【OpenVINO】特定模型的条件编译

作者:时间:2021-06-21来源:英特尔收藏

目录

本文引用地址:http://www.eepw.com.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.执行代码使用分析:

i.使用以下选项运行CMake工具:-DENABLE_PROFILING_ITT=ON-DSELECTIVE_BUILD=COLLECT。

ii.选择要在特定应用程序或目标设备中使用的多个型号。

iii.使用SEA_ITT_lib目标构建ITT收集器。

iv.在ITT收集器下运行目标应用程序,以分析每个模型的代码使用情况。统计数据以.csv格式生成。

2.构建生成的二进制文件:

i.执行以下选项的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,请记住限制推理请求和迭代的数量。

为具有不同ISA的设备构建

构建具有不同 ISA 的设备与构建不同型号的设备非常相似(参见前一章)。区别仅在于代码使用分析步骤。应该在目标设备上执行分析步骤,并且应该将包含统计信息的所有 CSV 文件复制到构建计算机上。这些文件将用于最终的生成。

限制

•目前,Ninja build 系统不支持条件编译 build。

© 版权方 2018-2021, 团队



评论


相关推荐

技术专区

关闭