深度学习框架:GPU
深度學(xué)習(xí)框架:GPU
Deep Learning Frameworks
深度學(xué)習(xí)框架通過高級(jí)編程接口為設(shè)計(jì)、訓(xùn)練和驗(yàn)證深度神經(jīng)網(wǎng)絡(luò)提供了構(gòu)建塊。廣泛使用的深度學(xué)習(xí)框架如MXNet、PyTorch、TensorFlow等依賴于GPU加速庫如cuDNN、NCCL和DALI來提供高性能的多GPU加速訓(xùn)練。
開發(fā)人員、研究人員和數(shù)據(jù)科學(xué)家可以通過深度學(xué)習(xí)示例輕松訪問NVIDIA優(yōu)化的深度學(xué)習(xí)框架容器,這些容器針對(duì)NVIDIA gpu進(jìn)行性能調(diào)整和測(cè)試。這樣就不需要管理包和依賴項(xiàng),也不需要從源代碼構(gòu)建深入的學(xué)習(xí)框架。訪問NVIDIA NGC了解更多信息并開始使用。
以下是支持的流行深度學(xué)習(xí)框架列表,包括開始學(xué)習(xí)所需的學(xué)習(xí)資源。
一.PyTorch
PyTorch是一個(gè)Python包,提供了兩個(gè)高級(jí)特性:
具有強(qiáng)GPU加速度的張量計(jì)算(如numpy)
基于帶基自蔓延系統(tǒng)的深層神經(jīng)網(wǎng)絡(luò)
可以重用最喜歡的Python包,如numpy、scipy和Cython,以便在需要時(shí)擴(kuò)展PyTorch。
模型部署:
對(duì)于訓(xùn)練模型的高性能推理部署,請(qǐng)導(dǎo)出到ONNX格式,并使用NVIDIA TensorRT推理加速器進(jìn)行優(yōu)化和部署。
二.MXNet
MXNet是一個(gè)為提高效率和靈活性而設(shè)計(jì)的深度學(xué)習(xí)框架。允許混合符號(hào)編程和命令式編程的風(fēng)格,以最大限度地提高效率和生產(chǎn)力。
的核心是一個(gè)動(dòng)態(tài)依賴調(diào)度程序,可以動(dòng)態(tài)地自動(dòng)并行化符號(hào)和命令操作。上面的一個(gè)圖形優(yōu)化層使符號(hào)執(zhí)行速度更快,內(nèi)存效率更高。這個(gè)庫是可移植的和輕量級(jí)的,可以擴(kuò)展到多個(gè)gpu和多臺(tái)機(jī)器。
模型部署:
對(duì)于MXNet訓(xùn)練模型的高性能推理部署,請(qǐng)導(dǎo)出到ONNX格式,并使用NVIDIA TensorRT推理加速器進(jìn)行優(yōu)化和部署。
三.TensorFlow
TensorFlow是一個(gè)開放源碼的軟件庫,用于使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算。圖中的節(jié)點(diǎn)表示數(shù)學(xué)運(yùn)算,而圖邊表示在之間流動(dòng)的多維數(shù)據(jù)數(shù)組(張量)。這種靈活的架構(gòu)允許將計(jì)算部署到桌面、服務(wù)器或移動(dòng)設(shè)備中的一個(gè)或多個(gè)CPU或GPU,而無需重寫代碼。為了可視化TensorFlow結(jié)果,TensorFlow提供了TensorBoard,一套可視化工具。
模型部署:
對(duì)于TensorFlow訓(xùn)練模型的高性能推理部署,可以:
使用TensorFlow TensorRT集成優(yōu)化TensorFlow內(nèi)的模型并使用TensorFlow部署
導(dǎo)出TensorFlow模型,并使用NVIDIA TensorRT內(nèi)置的TensorFlow模型導(dǎo)入器導(dǎo)入、優(yōu)化和部署。
四.NVIDIA Caffe
Caffe是由伯克利視覺和學(xué)習(xí)中心(BVLC)和社區(qū)貢獻(xiàn)者開發(fā)的。NVIDIA Caffe,也稱為NVCaffe,是NVIDIA維護(hù)的BVLC Caffe分支,專為NVIDIA GPU(特別是在多GPU配置中)調(diào)整。
模型部署:
對(duì)于Caffe訓(xùn)練模型的高性能推理部署,使用NVIDIA TensorRT的內(nèi)置Caffe模型導(dǎo)入器導(dǎo)入、優(yōu)化和部署。
五.MATLAB
MATLAB使工程師、科學(xué)家和領(lǐng)域?qū)<腋菀走M(jìn)行深入學(xué)習(xí)。借助于管理和標(biāo)記大型數(shù)據(jù)集的工具和功能,MATLAB還提供了用于機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、計(jì)算機(jī)視覺和自動(dòng)駕駛的專用工具箱。只需幾行代碼,MATLAB就可以創(chuàng)建和可視化模型,并將模型部署到服務(wù)器和嵌入式設(shè)備上,而無需成為專家。MATLAB還允許用戶從MATLAB代碼中自動(dòng)生成用于深度學(xué)習(xí)和視覺應(yīng)用的高性能CUDA代碼。
模型部署:
為了實(shí)現(xiàn)基于MATLAB訓(xùn)練模型的高性能推理部署,利用MATLAB GPU編碼器自動(dòng)生成TensorRT優(yōu)化的推理引擎。
六.Chainer
Chainer是一個(gè)基于Python的以靈活性為目標(biāo)的深度學(xué)習(xí)框架。提供了基于define by run方法(也稱為動(dòng)態(tài)計(jì)算圖)的自動(dòng)區(qū)分api,以及用于構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的面向?qū)ο蟾呒?jí)api。支持CUDA和cuDNN使用CuPy進(jìn)行高性能訓(xùn)練和推理。
模型部署:
對(duì)于鏈訓(xùn)練模型的高性能推理部署,請(qǐng)導(dǎo)出到ONNX格式,并使用NVIDIA TensorRT推理加速器進(jìn)行優(yōu)化和部署。
七.PaddlePaddle
PaddlePaddle為加載數(shù)據(jù)和指定模型結(jié)構(gòu)提供了直觀而靈活的界面。支持CNN,RNN,多種變體,并易于配置復(fù)雜的deep模型。
還提供極其優(yōu)化的操作、內(nèi)存回收和網(wǎng)絡(luò)通信。槳葉可以方便地?cái)U(kuò)展異構(gòu)計(jì)算資源和存儲(chǔ),加快訓(xùn)練過程。
總結(jié)
以上是生活随笔為你收集整理的深度学习框架:GPU的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU—加速数据科学工作流程
- 下一篇: NVIDIA Tensor Cores解