一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

八種主流深度學習框架的介紹

龍騰亞太 ? 來源:龍騰亞太 ? 作者:龍騰亞太 ? 2022-04-26 18:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導讀:近幾年隨著深度學習算法的發(fā)展,出現(xiàn)了許多深度學習框架。這些框架各有所長,各具特色。常用的開源框架有TensorFlow、Keras、Caffe、PyTorch、Theano、CNTK、MXNet、PaddlePaddle、Deeplearning4j、ONNX等。

框架名稱:TensorFlow

主要維護方:Google

支持的語言:C++/Python/Java/R 等

框架名稱:Keras

主要維護方:Google

支持的語言:Python/R

框架名稱:Caffe

主要維護方:BVLC

支持的語言:C++/Python/Matlab

框架名稱:PyTorch

主要維護方:Facebook

支持的語言:C/C++/Python

框架名稱:Theano

主要維護方:UdeM

支持的語言:Python

框架名稱:CNTK

主要維護方:Microsoft

支持的語言:C++/Python/C#/.NET/Java/R

框架名稱:MXNet

主要維護方:DMLC

支持的語言:C++/Python/R等

框架名稱:PaddlePaddle

主要維護方:Baidu

支持的語言:C++/Python

框架名稱:Deeplearning4j

主要維護方:Eclipse

支持的語言:Java/Scala等

框架名稱:ONNX

主要維護方:Microsoft/ Facebook

支持的語言:Python/R

下面開始對各框架進行概述,讓讀者對各個框架有個簡單的認知,具體的安裝及使用方法不在本文贅述。

01 TensorFlow

谷歌的TensorFlow可以說是當今最受歡迎的開源深度學習框架,可用于各類深度學習相關的任務中。TensorFlow = Tensor + Flow,Tensor就是張量,代表N維數(shù)組;Flow即流,代表基于數(shù)據(jù)流圖的計算。

TensorFlow是目前深度學習的主流框架,其主要特性如下所述。

TensorFlow支持Python、JavaScript、C ++、Java、Go、C#、Julia和R等多種編程語言。

TensorFlow不僅擁有強大的計算集群,還可以在iOSAndroid等移動平臺上運行模型。

TensorFlow編程入門難度較大。初學者需要仔細考慮神經(jīng)網(wǎng)絡的架構,正確評估輸入和輸出數(shù)據(jù)的維度和數(shù)量。

TensorFlow使用靜態(tài)計算圖進行操作。也就是說,我們需要先定義圖形,然后運行計算,如果我們需要對架構進行更改,則需要重新訓練模型。選擇這樣的方法是為了提高效率,但是許多現(xiàn)代神經(jīng)網(wǎng)絡工具已經(jīng)能夠在學習過程中改進,并且不會顯著降低學習速度。在這方面,TensorFlow的主要競爭對手是PyTorch。

RStudio提供了R與TensorFlow的API接口,RStudio官網(wǎng)及GitHub上也提供了TensorFlow擴展包的學習資料。

02 Keras

Keras是一個對小白用戶非常友好且簡單的深度學習框架。如果想快速入門深度學習, Keras將是不錯的選擇。

Keras是TensorFlow高級集成API,可以非常方便地和TensorFlow進行融合。Keras在高層可以調(diào)用TensorFlow、CNTK、Theano,還有更多優(yōu)秀的庫也在被陸續(xù)支持中。Keras的特點是能夠快速搭建模型,是高效地進行科學研究的關鍵。

Keras的基本特性如下:

高度模塊化,搭建網(wǎng)絡非常簡潔;

API簡單,具有統(tǒng)一的風格;

易擴展,易于添加新模塊,只需要仿照現(xiàn)有模塊編寫新的類或函數(shù)即可。

RStudio提供了R與Keras的API接口,RStudio的官網(wǎng)及GitHub上也提供了Keras擴展包的學習資料。

03 Caffe

Caffe是由AI科學家賈揚清在加州大學伯克利分校讀博期間主導開發(fā)的,是以C++/CUDA代碼為主的早期深度學習框架之一,比TensorFlow、MXNet、PyTorch等都要早。Caffe需要進行編譯安裝,支持命令行、Python和Matlab接口,單機多卡、多機多卡等都可以很方便使用。

Caffe的基本特性如下。

以C++/CUDA/Python代碼為主,速度快,性能高。

工廠設計模式,代碼結(jié)構清晰,可讀性和可拓展性強。

支持命令行、Python和Matlab接口,使用方便。

CPUGPU之間切換方便,多GPU訓練方便。

工具豐富,社區(qū)活躍。

同時,Caffe的缺點也比較明顯,主要包括如下幾點。

源代碼修改門檻較高,需要實現(xiàn)正向/反向傳播。

不支持自動求導。

不支持模型級并行,只支持數(shù)據(jù)級并行。

不適合非圖像任務。

雖然Caffe已經(jīng)提供了Matlab和Python接口,但目前不支持R語言。caffeR為Caffe提供了一系列封裝功能,允許用戶在R語言上運行Caffe,包括數(shù)據(jù)預處理和網(wǎng)絡設置,以及監(jiān)控和評估訓練過程。該包還沒有CRAN版本,感興趣的讀者可以在GitHub找到caffeR包的安裝及使用的相關內(nèi)容。

04 PyTorch

PyTorch是Facebook團隊于2017年1月發(fā)布的一個深度學習框架,雖然晚于TensorFlow、Keras等框架,但自發(fā)布之日起,其受到的關注度就在不斷上升,目前在GitHub上的熱度已經(jīng)超過Theano、Caffe、MXNet等框架。

PyTroch主要提供以下兩種核心功能:

支持GPU加速的張量計算;

方便優(yōu)化模型的自動微分機制。

PyTorch的主要優(yōu)點如下。

簡潔易懂:PyTorch的API設計相當簡潔一致,基本上是tensor、autograd、nn三級封裝,學習起來非常容易。

便于調(diào)試:PyTorch采用動態(tài)圖,可以像普通Python代碼一樣進行調(diào)試。不同于TensorFlow,PyTorch的報錯說明通常很容易看懂。

強大高效:PyTorch提供了非常豐富的模型組件,可以快速實現(xiàn)想法。

05 Theano

Theano誕生于2008年,由蒙特利爾大學的LISA實驗室開發(fā)并維護,是一個高性能的符號計算及深度學習框架。它完全基于Python,專門用于對數(shù)學表達式的定義、求值與優(yōu)化。得益于對GU的透明使用,Theano尤其適用于包含高維度數(shù)組的數(shù)學表達式,并且計算效率比較高。

因Theano出現(xiàn)的時間較早,后來涌現(xiàn)出一批基于Theano的深度學習庫,并完成了對Theano的上層封裝以及功能擴展。在這些派生庫中,比較著名的就是本書要學習的Keras。Keras將一些基本的組件封裝成模塊,使得用戶在編寫、調(diào)試以及閱讀網(wǎng)絡代碼時更加清晰。

06 CNTK

CNTK(Microsoft Cognitive Toolkit)是微軟開源的深度學習工具包,它通過有向圖將神經(jīng)網(wǎng)絡描述為一系列計算步驟。在有向圖中,葉節(jié)點表示輸入值或網(wǎng)絡參數(shù),其他節(jié)點表示其輸入上的矩陣運算。

CNTK允許用戶非常輕松地實現(xiàn)和組合流行的模型,包括前饋神經(jīng)網(wǎng)絡(DNN)、卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN、LSTM)。與目前大部分框架一樣,CNTK實現(xiàn)了自動求導,利用隨機梯度下降方法進行優(yōu)化。

CNTK的基本特性如下。

CNTK性能較好,按照其官方的說法,它比其他的開源框架性能都要好。

適合做語音任務,CNTK本就是微軟語音團隊開源的,自然更適合做語音任務,便于在使用RNN等模型以及時空尺度時進行卷積。

微軟開發(fā)的CNTK-R包提供了R與CNTK的API接口。

07 MXNet

MXNet框架允許混合符號和命令式編程,以最大限度地提高效率和生產(chǎn)力。MXNet的核心是一個動態(tài)依賴調(diào)度程序,可以動態(tài)地自動并行化符號和命令操作。其圖形優(yōu)化層使符號執(zhí)行更快,內(nèi)存效率更高。

MXNet的基本特性如下。

靈活的編程模型:支持命令式和符號式編程模型。

多語言支持:支持C++、Python、R、Julia、JavaScript、Scala、Go、Perl等。事實上,它是唯一支持所有R函數(shù)的構架。

本地分布式訓練:支持在多CPU/GPU設備上的分布式訓練,使其可充分利用云計算的規(guī)模優(yōu)勢。

性能優(yōu)化:使用一個優(yōu)化的C++后端引擎實現(xiàn)并行I/O和計算,無論使用哪種語言都能達到最佳性能。

云端友好:可直接與S3、HDFS和Azure兼容。

08 ONNX

ONNX(Open Neural Network eXchange,開放神經(jīng)網(wǎng)絡交換)項目由微軟、亞馬遜、Facebook和IBM等公司共同開發(fā),旨在尋找呈現(xiàn)開放格式的深度學習模型。ONNX簡化了在人工智能不同工作方式之間傳遞模型的過程,具有各種深度學習框架的優(yōu)點。

ONNX的基本特性如下。

ONNX使模型能夠在一個框架中進行訓練并轉(zhuǎn)移到另一個框架中進行預測。

ONNX模型目前在Caffe2、CNTK、MXNet和PyTorch中得到支持,并且還有與其他常見框架和庫的連接器

onnx-r包提供了R與ONNX的API接口。

關于作者:謝佳標,資深AI技術專家和數(shù)據(jù)挖掘?qū)<?,擁有超過14年的技術研發(fā)和管理經(jīng)驗。精通Python和Keras等深度學習框架,在數(shù)據(jù)挖掘和人工智能技術領域有非常深厚的積累。連續(xù)6年(2017~2022年)被微軟評為數(shù)據(jù)科學和AI方向MVP。資深R語言技術專家,“中國現(xiàn)場統(tǒng)計研究會大數(shù)據(jù)統(tǒng)計分會”第一屆理事。歷屆中國R語言和數(shù)據(jù)科學大會特邀演講嘉賓,受邀在國內(nèi)多所高校舉行以數(shù)據(jù)主題的公益講座。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122805
  • 遷移學習
    +關注

    關注

    0

    文章

    74

    瀏覽量

    5733
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    百度飛槳框架3.0正式版發(fā)布

    大模型訓練成本高?推理效率低?硬件適配難? 4月1日,百度發(fā)布 飛槳框架3.0正式版 !五大特性專為大模型設計。 作為大模型時代的Infra“基礎設施”,深度學習框架的重要性愈發(fā)凸顯,
    的頭像 發(fā)表于 04-02 19:03 ?727次閱讀
    百度飛槳<b class='flag-5'>框架</b>3.0正式版發(fā)布

    嵌入式AI技術之深度學習:數(shù)據(jù)樣本預處理過程中使用合適的特征變換對深度學習的意義

    ? 作者:蘇勇Andrew 使用神經(jīng)網(wǎng)絡實現(xiàn)機器學習,網(wǎng)絡的每個層都將對輸入的數(shù)據(jù)做一次抽象,多層神經(jīng)網(wǎng)絡構成深度學習框架,可以深度理解數(shù)
    的頭像 發(fā)表于 04-02 18:21 ?890次閱讀

    軍事應用中深度學習的挑戰(zhàn)與機遇

    ,并廣泛介紹深度學習在兩個主要軍事應用領域的應用:情報行動和自主平臺。最后,討論了相關的威脅、機遇、技術和實際困難。主要發(fā)現(xiàn)是,人工智能技術并非無所不能,需要謹慎應用,同時考慮到其局限性、網(wǎng)絡安全威脅以及
    的頭像 發(fā)表于 02-14 11:15 ?540次閱讀

    BP神經(jīng)網(wǎng)絡與深度學習的關系

    BP神經(jīng)網(wǎng)絡與深度學習之間存在著密切的關系,以下是對它們之間關系的介紹: 一、BP神經(jīng)網(wǎng)絡的基本概念 BP神經(jīng)網(wǎng)絡,即反向傳播神經(jīng)網(wǎng)絡(Backpropagation Neural Network
    的頭像 發(fā)表于 02-12 15:15 ?863次閱讀

    AI開發(fā)框架集成介紹

    隨著AI應用的廣泛深入,單一框架往往難以滿足多樣化的需求,因此,AI開發(fā)框架的集成成為了提升開發(fā)效率、促進技術創(chuàng)新的關鍵路徑。以下,是對AI開發(fā)框架集成的介紹,由AI部落小編整理。
    的頭像 發(fā)表于 01-07 15:58 ?561次閱讀

    卷積神經(jīng)網(wǎng)絡的實現(xiàn)工具與框架

    卷積神經(jīng)網(wǎng)絡因其在圖像和視頻處理任務中的卓越性能而廣受歡迎。隨著深度學習技術的快速發(fā)展,多種實現(xiàn)工具和框架應運而生,為研究人員和開發(fā)者提供了強大的支持。 TensorFlow 概述
    的頭像 發(fā)表于 11-15 15:20 ?672次閱讀

    NPU在深度學習中的應用

    設計的硬件加速器,它在深度學習中的應用日益廣泛。 1. NPU的基本概念 NPU是一專門針對深度學習算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和G
    的頭像 發(fā)表于 11-14 15:17 ?1922次閱讀

    pcie在深度學習中的應用

    深度學習模型通常需要大量的數(shù)據(jù)和強大的計算能力來訓練。傳統(tǒng)的CPU計算資源有限,難以滿足深度學習的需求。因此,GPU(圖形處理單元)和TPU(張量處理單元)等專用硬件應運而生,它們通過
    的頭像 發(fā)表于 11-13 10:39 ?1359次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發(fā)表于 10-28 14:05 ?661次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是深度學習
    的頭像 發(fā)表于 10-27 11:13 ?1384次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發(fā)展 深度學習是機器學習的一個分支,它通過模擬人
    的頭像 發(fā)表于 10-27 10:57 ?1073次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現(xiàn)場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度學習模型的案例: 一、基于FPGA的AlexNet卷積運算加速 項目名稱
    的頭像 發(fā)表于 10-25 09:22 ?1238次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :
    的頭像 發(fā)表于 10-23 15:25 ?2900次閱讀

    FPGA做深度學習能走多遠?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題(一) Q:FPGA做深度學習能走多遠?現(xiàn)在用FPGA做深度學習加速成為一個熱門,深鑒科技,商湯,曠視科技等都有基于FPG
    發(fā)表于 09-27 20:53

    NVIDIA推出全新深度學習框架fVDB

    在 SIGGRAPH 上推出的全新深度學習框架可用于打造自動駕駛汽車、氣候科學和智慧城市的 AI 就緒型虛擬表示。
    的頭像 發(fā)表于 08-01 14:31 ?1152次閱讀