在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用 OpenVINO? 條件編譯功能,壓縮 Windows 應(yīng)用體積

            使用 OpenVINO? 條件編譯功能,壓縮 Windows 應(yīng)用體積

            作者:楊亦誠(chéng) 英特爾 AI 軟件工程師 時(shí)間:2025-02-10 來(lái)源:OpenVINO 中文社區(qū) 收藏

            在 OpenVINO? 編譯過(guò)程中,我們可以根據(jù)應(yīng)用對(duì)于硬件平臺(tái)的需求,關(guān)閉或開(kāi)指定推理后端的編譯,以達(dá)到簡(jiǎn)化 OpenVINO? 運(yùn)行庫(kù)的目的,例如 cmake -DENABLE_INTEL_GPU=OFF 便可以取消 GPU plugin 庫(kù)的編譯。除此以外 OpenVINO? 還提供了功能,用于針對(duì)特定模型進(jìn)行運(yùn)行庫(kù)壓縮,接下來(lái)就讓我們一起來(lái)看下如何在 操作系統(tǒng)上實(shí)現(xiàn)這一功能。

            本文引用地址:http://www.biyoush.com/article/202502/466785.htm

            環(huán)境安裝與配置

            第一步,我們需要確保已經(jīng)在 上安裝了 Visual Studio 編譯環(huán)境。如果是第一次安裝 Visual Studio 可以通過(guò)以下鏈接下載。

            https://visualstudio.microsoft.com/

            在安裝組件過(guò)程中,選擇“使用C++的桌面開(kāi)發(fā)”。

            圖片

            圖:Visual Studio 安裝示例

            安裝完畢后建議使用 Visual Studio 自帶的命令行工具“x64 Native Tools Command Prompt”對(duì)編譯環(huán)境進(jìn)行初始化。

            圖片

            圖:搜索“x64 Native Tools Command Prompt”

            預(yù)編譯

            在完成編譯環(huán)境初始化后,會(huì)看到以下提醒。接下來(lái)我們就可以在該命令行終端上輸入編譯指令了。

            圖片

            圖:編譯環(huán)境初始化成功

            在這一步中,我們需要先利用 Ninja 編譯工具對(duì) OpenVINO? 運(yùn)行庫(kù)進(jìn)行預(yù)編譯,并使用 itt 組件來(lái)收集模型運(yùn)行過(guò)程中的依賴數(shù)據(jù)??梢酝ㄟ^(guò) cmake -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT ..  指令開(kāi)啟這一功能的編譯。以下是完整命令參考:

            git clone https://github.com/openvinotoolkit/openvino.git 
            set OPENVINO_HOME=D:work_pathopenvino
            cd %OPENVINO_HOME%
            git submodule update --init --recursive
            md build_cc
            cd build_cc
            cmake -G Ninja -Wno-dev -DCMAKE_BUILD_TYPE=Debug -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF -DENABLE_FASTER_BUILD=ON -DENABLE_SANITIZER=OFF -DTHREADING=TBB -DBUILD_SHARED_LIBS=OFF -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT -DENABLE_INTEL_GPU=OFF -DENABLE_MULTI=OFF -DENABLE_AUTO=OFF -DENABLE_AUTO_BATCH=OFF -DENABLE_HETERO=OFF -DENABLE_TEMPLATE=OFF -DENABLE_OV_ONNX_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OV_PYTORCH_FRONTEND=OFF -DENABLE_OV_JAX_FRONTEND=OFF -DENABLE_OV_TF_FRONTEND=OFF -DCMAKE_INSTALL_PREFIX=install -DENABLE_PYTHON=OFF ..
            cmake --build . --config Debug

            數(shù)據(jù)收集

            完成預(yù)編譯后,我們需要針對(duì)特定模型,利用 itt 工具收集 OpenVINO? 運(yùn)行庫(kù)在運(yùn)行指定模型所需的依賴模塊。

            cd %OPENVINO_HOME%build_cc
            cmake --build . --config Debug --target sea_itt_lib
            cd %OPENVINO_HOME%s
            et PATH=%PATH%;%OPENVINO_HOME%temptbbbin
            mkdir cc_data
            cd %OPENVINO_HOME%cc_data
            python3 ..thirdpartyitt_collectorruntoolsea_runtool.py --bindir ..binintel64Debug -o %OPENVINO_HOME%cc_datadata ! ..binintel64Debugbenchmark_app.exe -niter 1 -nireq 1 -m <your_model.xml> -d NPU

            可以看到在以上命令中,我們將 benchmark app 所采集到的模型運(yùn)行數(shù)據(jù)保存在 cc_data 目錄下,接下來(lái)就需要基于該數(shù)據(jù)來(lái)壓縮 OpenVINO? 運(yùn)行庫(kù)的體積。

            圖片

            圖:OpenVINO? 運(yùn)行依賴數(shù)據(jù)

            運(yùn)行庫(kù)編譯

            使用 cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=%OPENVINO_HOME%cc_data*.cs 指令,我們可以利用上一步所采集的依賴數(shù)據(jù),在正式編譯過(guò)程中刪除一些不必要的依賴組件或是函數(shù),以達(dá)到針對(duì)指定模型優(yōu)化運(yùn)行庫(kù)容量的目的。以下是完整的參考指令:

            cd %OPENVINO_HOME%
            md build
            cd build
            cmake -G "Visual Studio 16 2019" -A x64 -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DENABLE_FASTER_BUILD=ON -DENABLE_PROFILING_ITT=OFF -DSELECTIVE_BUILD=ON -DENABLE_INTEL_GPU=OFF -DENABLE_MULTI=OFF -DENABLE_AUTO=OFF -DENABLE_AUTO_BATCH=OFF -DENABLE_HETERO=OFF -DENABLE_TEMPLATE=OFF -DENABLE_OV_ONNX_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OV_PYTORCH_FRONTEND=OFF -DENABLE_OV_JAX_FRONTEND=OFF -DENABLE_OV_TF_FRONTEND=OFF -DSELECTIVE_BUILD_STAT=%OPENVINO_HOME%cc_data*.csv -DBUILD_SHARED_LIBS=OFF -DENABLE_LTO=ON -DENABLE_ONEDNN_FOR_GPU=OFF -DENABLE_OV_TF_LITE_FRONTEND=OFF -DENABLE_PROFILING_FIRST_INFERENCE=OFF ..
            cmake --build . --config Release

            這里我們比較開(kāi)啟功能和關(guān)閉功能后,OpenVINO? 運(yùn)行庫(kù)的大小。

            圖片

            圖片

            圖:條件編譯前后對(duì)比

            可以看到在只編譯 NPU plugin 以及 samples 示例的情況下,OpenVINO? 被壓縮了6MB左右的空間,其中 openvino.dll 動(dòng)態(tài)庫(kù)為主要壓縮對(duì)象。當(dāng)然針對(duì)不同模型的壓縮效果也是不同的,以上數(shù)據(jù)僅為參考。

            圖片

            圖:openvino.dll 壓縮效果

            小結(jié)

            使用條件編譯功能可以最大限度壓縮 OpenVINO? 運(yùn)行庫(kù)的體積,幫助應(yīng)用瘦身,從而減少應(yīng)用軟件在發(fā)行時(shí)由容量問(wèn)題帶來(lái)的網(wǎng)絡(luò)和磁盤壓力。關(guān)于 OpenVINO? 條件編譯功能更詳細(xì)的使用方法可以參考:

            https://docs.openvino.ai/2024/openvino-workflow/deployment-locally/optimial-binary-size-conditional-compilation.html



            關(guān)鍵詞: Windows 條件編譯

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉