MXNet是一個開源的深度學習軟件框架,用于訓練和部署深度神經網絡。它是亞馬遜云計算服務和Microsoft Azure支持的,也是亞馬遜云計算服務的首選深度學習框架。MXNet具有可擴展性,可以擴展到多GPU和多臺機器,并且支持多種編程語言,包括C++、Python、Java、Julia、MATLAB、ECMAScript、Go、R、Scala、Perl和Wolfram。MXNet由Carlos Guestrin在美國華盛頓大學(與GraphLab一起)共同開發。MXNet受到英特爾、Dato、百度集團、微軟、Wolfram Research以及卡耐基·梅隆大學、麻省理工學院、華盛頓大學和香港科技大學等研究機構的支持。MXNet的可移植性和靈活性使其成為最優秀的深度學習庫之一,可以快速訓練模型。截至2023年9月,MXNet不再處于活躍開發狀態。
概述
MXNet是亞馬遜(亞馬遜網站)選擇的深度學習庫。它擁有類似于Theano和TensorFlow的數據流圖,為多GPU配置提供了良好的配置,有著類似于Lasagne和Blocks更高級別的模型構建塊,并且可以在你可以想象的任何硬件上運行(包括手機)。對Python的支持只是其冰山一角—MXNet同樣提供了對R、Julia、C++、Scala、MATLAB,和ECMAScript的接口。
新特性
增強了sparse.dot運算符的性能。
MXNet現在自動設置OpenMP,以便在未設置NUM_OMP_THREADS時使用所有可用的CPU內核以最大限度地提高CPU利用率。
一元運算符和二元運算符現在可以避免在小型陣列上使用openmp,因為使用OpenMP實際上會損害多線程開銷。
在CPU上顯著提高了broadcast_add,broadcast_mul等的性能。
使用NCCL2.1版或更新版本時,建議將環境變量NCCL_LAUNCH_MODE設置為緯線。
特點
Apache MXNet是一個可擴展的深度學習框架,支持卷積神經網絡(CNN)和長短期記憶網絡(LSTM)等深度學習模型。MXNet可以在動態云基礎設施上使用分布式參數服務器進行分布式部署,基于卡耐基·梅隆大學、百度集團和谷歌的研究。使用多個GPU或CPU,該框架可以實現線性擴展。MXNet支持命令式和符號式編程,允許開發人員跟蹤、調試、保存檢查點、修改超參數并執行提前停止。MXNet支持Python、R、Scala、clojure、Julia、Perl、MATLAB和ECMAScript用于前端開發,以及C++用于后端優化。支持將訓練好的模型部署到低端設備進行推斷,例如手持移動設備(使用Amalgamation)、物聯網設備(使用AWS Greengrass)、無服務器計算(使用AWS Lambda)或容器。MXNet得到亞馬遜網絡服務(AWS)和Microsoft Azure等公共云提供商的支持。
云支持和合作
MXNet得到了亞馬遜網絡服務(AWS)和微軟Azure等公共云提供商的支持。亞馬遜已選擇MXNet作為其AWS上的深度學習框架。此外,MXNet也得到了英特爾、百度集團、微軟、Wolfram Research以及卡耐基·梅隆大學、麻省理工學院、美國華盛頓大學和香港科技大學等研究機構的支持。
參考資料 >