<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          目錄

          本文引用地址:http://www.ex-cimer.com/article/202106/426448.htm

          Introduction

          Building for different models

          Building for devices with different ISA

          簡介

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

          可以從內(nèi)部版本中排除以下組件:

          1.nGraph和插件中的圖層和圖形轉(zhuǎn)換

          2.nGraph 操作

          3.CPU插件中的jit內(nèi)核

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

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

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

          Python

          為不同的模型構(gòu)建

          條件編譯分為兩個階段:

          收集有關(guān)代碼使用情況的信息

          在沒有未使用的組件或部件的情況下構(gòu)建結(jié)果二進制文件

          要應(yīng)用條件編譯,請按照以下步驟:

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

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

          ii.選擇要在特定應(yīng)用程序或目標設(shè)備中使用的多個型號。

          iii.使用SEA_ITT_lib目標構(gòu)建ITT收集器。

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

          2.構(gòu)建生成的二進制文件:

          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”標志。否則,跟蹤文件將非常大。

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

          為具有不同ISA的設(shè)備構(gòu)建

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

          限制

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

          ? 版權(quán)方 2018-2021, 團隊



          關(guān)鍵詞: OpenVINO 特定模型 條件編譯

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();