在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è) > 博客 > 深度解決添加復(fù)雜數(shù)據(jù)增強(qiáng)導(dǎo)致訓(xùn)練模型耗時(shí)長(zhǎng)的痛點(diǎn)(1)

            深度解決添加復(fù)雜數(shù)據(jù)增強(qiáng)導(dǎo)致訓(xùn)練模型耗時(shí)長(zhǎng)的痛點(diǎn)(1)

            發(fā)布人:計(jì)算機(jī)視覺(jué)工坊 時(shí)間:2022-12-22 來(lái)源:工程師 發(fā)布文章

            本文來(lái)自社區(qū)投稿

            作者:教 主

            原文鏈接:https://zhuanlan.zhihu.com/p/585270139

            0 Introduction


            一直以來(lái),得益于 GPU 的日益發(fā)展,深度學(xué)習(xí)中網(wǎng)絡(luò)訓(xùn)練以及部署推理速度越來(lái)越快,在各大主流的深度學(xué)習(xí)框架,諸如 PyTorch、TensorFlow、OneFlow 等都有很多算子對(duì) GPU 的加速支持。


            從網(wǎng)絡(luò)結(jié)構(gòu)角度,PyTorch 雖然已經(jīng)使用了 NVIDIA cuDNN、Intel MKL 和 NNPACK 這些底層來(lái)加快訓(xùn)練速度,但是在某些情況下,比如我們要實(shí)現(xiàn)一些特定算法/算子,如果只是用 PyTorch 已有的算子或操作遠(yuǎn)遠(yuǎn)不夠。


            因?yàn)?PyTorch 雖然在特定操作上經(jīng)過(guò)了很好的優(yōu)化,但是對(duì)于 PyTorch 已經(jīng)寫好的這些操作,假如我們組合起來(lái)成為一個(gè)新的算子(OP),PyTorch 不會(huì)管你的算法的具體執(zhí)行流程,一般 PyTorch 只會(huì)按照設(shè)計(jì)好的操作去使用 GPU,然后 GPU 可能不能充分利用或者直接超負(fù)載,并且 python 解釋器也不能對(duì)此進(jìn)行優(yōu)化,導(dǎo)致訓(xùn)練過(guò)程變慢很多 [1]。


            從數(shù)據(jù)流角度,深度學(xué)習(xí)一般都需要復(fù)雜的、多階段的數(shù)據(jù)處理流程,包括數(shù)據(jù)加載、解碼以及一定量的數(shù)據(jù)增強(qiáng)預(yù)處理操作,這些目前在 CPU 上執(zhí)行的數(shù)據(jù)處理管道已經(jīng)成為瓶頸,使得模型訓(xùn)練耗時(shí)很長(zhǎng)大。


            對(duì)于此,NVIDIA 提出了 Data Loading Library(DALI)[2],通過(guò)將數(shù)據(jù)預(yù)處理交給 GPU 處理,緩解 CPU 瓶頸問(wèn)題。DALI 依賴于它自己的執(zhí)行引擎,其構(gòu)建目的是最大化輸入管道的吞吐量。諸如預(yù)取、并行執(zhí)行和批處理等特性都是為用戶透明處理,如下圖所示:


            圖片

            DALI Pipeline


            使用 DALI 以及配置 DALI 環(huán)境比較復(fù)雜,并且 DALI 當(dāng)前的支持的函數(shù)實(shí)現(xiàn)也比較有限,具體使用可以看文獻(xiàn) [2] 中的說(shuō)明文檔。


            實(shí)際開(kāi)發(fā)中,對(duì)于一些復(fù)雜的特定數(shù)據(jù)增強(qiáng)操作,就需要自己實(shí)現(xiàn)。因此,構(gòu)建了一個(gè)比較全面的工程以供大家學(xué)習(xí)和相互交流。


            本工程利用 Pytorch 的 C++/CUDA 擴(kuò)展,實(shí)現(xiàn) GPU 的數(shù)據(jù)增強(qiáng),然后直接推送給網(wǎng)絡(luò),從而達(dá)到訓(xùn)練加速效果。


            為了指導(dǎo)大家系統(tǒng)性掌握該方面的相關(guān)知識(shí),本工程也包含了 Python 的 C++ 拓展,且詳細(xì)講解了在需要依賴第三方庫(kù)的情況下怎樣編寫 setup.py 文件以及相關(guān)配置,關(guān)于如何編譯和測(cè)試,在后續(xù)有詳細(xì)的講解。



            1. Project Address


            https://github.com/ChenCVer/python_cpp_extension



            2. Project Structure


















            ├── 3rdparty          # 工程依賴的第三方庫(kù)│    ├── opencv│    │    ├── linux│    │    └── win│    └── pybind11├── docs              # 說(shuō)明文檔及相關(guān)資料├── requirements      # python相關(guān)安裝依賴├── requirements.txt  # python相關(guān)安裝依賴項(xiàng), 與requirements文件夾配合├── scripts           # 相關(guān)測(cè)試腳本├── tools             # 分析工具├── orbbec            # 源碼文件│    ├── nms          # 非極大值抑制│    ├── roi_align    # ROI Align│    ├── utils        # 編譯工具函數(shù)│    └── warpaffine   # 仿射變換增強(qiáng)└── setup.py          # 用于編譯和構(gòu)建python包(.egg), 類似:CMakeLists.txt



            3. Compilation And Python Environment


            3.1. Compile Environment


            • GCC/G++ >= 5.5.0(Visual Studio 2017 or newer for Windows)

            • CUDA(NVCC): 10.1~11.5


            3.2. Python Environment

            (requirements.txt)





















            certifi==2021.5.30cycler==0.11.0future==0.18.2kiwisolver==1.3.1matplotlib==3.3.4mkl-fft==1.3.0mkl-random==1.1.1mkl-service==2.3.0numpy @ file:///C:/ci/numpy_and_numpy_base_1603480701039/workolefile==0.46opencv-python==3.4.0.12Pillow @ file:///C:/ci/pillow_1625663293114/workpyparsing==3.0.9python-dateutil==2.8.2six @ file:///tmp/build/80754af9/six_1644875935023/workterminaltables==3.1.10torch==1.5.0torchvision==0.6.0wincertstore==0.2


            3.3. Python Package infos



























            Package         Version --------------- --------- certifi         2016.2.28cycler          0.11.0Cython          0.29.32future          0.18.2kiwisolver      1.3.1matplotlib      3.3.4mkl-fft         1.3.0mkl-random      1.1.1mkl-service     2.3.0numpy           1.19.2olefile         0.44opencv-python   3.4.0.12Pillow          8.3.1pip             21.3.1pyparsing       3.0.9python-dateutil 2.8.2setuptools      59.6.0six             1.10.0terminaltables  3.1.10torch           1.5.0torchvision     0.6.0wheel           0.29.0wincertstore    0.2


            【注】:上述環(huán)境中的 PyTorch 版本需要對(duì)應(yīng)的 CUDA 版本,本工程支持的 PyTorch 版本:PyTorch version:1.5.0~latest。



            *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



            關(guān)鍵詞: AI

            相關(guān)推薦

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

            關(guān)閉