Nvidia 用於數據增強和 JPEG 圖像解碼的 GPU 加速庫 DALI
今天的深度學習應用程序包括複雜的多階段預處理數據流水線,其中包括主要在 CPU 上執行的計算密集型步驟。例如,在 CPU 上執行諸如從磁碟載入數據、解碼、剪裁、隨機調整大小、顏色和空間增強以及格式轉換等步驟,限制了訓練和推理任務的性能和可擴展性。此外,今天的深度學習框架有多個數據預處理實現,這導致諸如訓練和推理工作流的可移植性以及代碼可維護性等挑戰。
NVIDIA 數據載入庫(DALI)是高度優化的構建模塊和執行引擎的集合,可加速深度學習應用程序的輸入數據預處理。 DALI 提供加速不同數據管道的性能和靈活性,作為一個單獨的庫,可以輕鬆集成到不同的深度學習訓練和推理應用程序中。
Github 鏈接:
https://github.com/NVIDIA/DALI
DALI 開發者文檔:
https://docs.nvidia.com/deeplearning/sdk/dali-developer-guide/index.html
DALI 的主要亮點包括:
從磁碟讀取到準備訓練/推理的完整的數據流水線;
可配置圖形和自定義操作員的靈活性;
支持圖像分類和分割工作量;
通過框架插件和開源綁定輕鬆實現集成;
具有多種輸入格式的攜帶型訓練工作流 - JPEG,LMDB,RecordIO,TFRecord;
通過開源許可證可擴展以滿足用戶的特定需求
注意:DALI v0.1 是預發布軟體,這意味著某些功能可能不完全正常運行,可能包含錯誤或設計缺陷。
安裝預構建的 DALI 包
安裝前提:
Linux
NVIDIA CUDA 9.0
DALI 支持的深度學習框架:
MXNet,Version 1.3 beta is required, mxnet-cu90==1.3.0b20180612 or later
pyTorch,Version 0.4
TensorFlow,Version 1.8
安裝:
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist nvidia-dali
從源代碼編譯 DALI:
前提:
Linux
NVIDIA CUDA 9.0
nvJPEG library
protobuf version 2 or above (version 3 or above is required for TensorFlow TFRecord file format support)
CMake version 3.5 or above
libjpeg-turbo version 1.5.x or above
OpenCV version 3 or above
(Optional) liblmdb version 0.9.x or above
DALI 支持以下深度學習框架:
MXNet,Version 1.3 beta is required, mxnet-cu90==1.3.0b20180612 or later
pyTorch,Version 0.4
TensorFlow,Version 1.8
注意:TensorFlow 需要為 DALI 構建 TensorFlow 插件。
獲取 DALI 源代碼:
git clone --recursive https://github.com/NVIDIA/dali
cddali
建立目錄:
mkdirbuild
cdbuild
編譯 DALI:
無 LMDB 支持編譯 DALI:
cmake ..
make-j"$(nproc)"install
LMDB 支持編譯 DALI:
cmake -DBUILD_LMDB=ON ..
make-j"$(nproc)"install
可選的 CMake 構建參數:
BUILD_PYTHON- build Python bindings (default: ON)
BUILD_TEST- include building test suite (default: ON)
BUILD_BENCHMARK- include building benchmarks (default: ON)
BUILD_LMDB- build with support for LMDB (default: OFF)
BUILD_NVTX- build with NVTX profiling enabled (default: OFF)
BUILD_TENSORFLOW- build TensorFlow plugin (default: OFF)
安裝 Python 綁定:
pipinstalldali/python
CCF-GAIR 大會即將開幕!
※攻擊 AI 模型之 FGSM 演算法
※美圖邀你挑戰短視頻分類極限,26 萬獎金池等你瓜分
TAG:AI研習社 |