精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

你最看好哪個深度學習框架呢?

jmiy_worldofai ? 來源:未知 ? 作者:胡薇 ? 2018-09-21 17:02 ? 次閱讀

開源的深度學習神經網絡正步入成熟,而現在有許多框架具備為個性化方案提供先進的機器學習人工智能的能力。那么如何決定哪個開源框架最適合你呢?本文試圖通過對比度學習各大框架的優缺點,從而為各位讀者提供一個參考。

現在的許多機器學習框架都可以在圖像識別、手寫識別、視頻識別、語音識別、目標識別和自然語言處理等許多領域大展身手,但卻并沒有一個完美的深度神經網絡能解決你的所有業務問題。所以,本文希望下面的圖表和講解能夠提供直觀方法,幫助讀者解決業務問題。

下圖總結了在 GitHub 中最受歡迎的開源深度學習框架排名,該排名是基于各大框架在 GitHub 里的收藏數,這個數據由 Mitch De Felice 在 2017 年 5 月初完成。

TensorFlow

地址:https://www.tensorflow.org/

TensorFlow 最開始是由谷歌一個稱之為 DistBelief V2 的庫發展而來,它是一個公司內部的深度神經網絡庫,隸屬于谷歌大腦項目。有一些人認為 TensorFlow 是由 Theano 徹底重構而來。

谷歌開源 TensorFlow 后,立即吸引了一大批開發愛好者。TensorFlow 可以提供一系列的能力,例如圖像識別、手寫識別、語音識別、預測以及自然語言處理等。2015 年 11 月 9 號,TensorFlow 在 Apache 2.0 協議下開源發布。

TensorFlow 1.0 版本已于 2017 年 2 月 15 日發布,這個版本是之前 8 個版本的優化改進版,其致力于解決 Tensorflow 之前遇到的一系列問題以及完善一些核心能力。TensorFlow 獲得成功的因素有:

TensorFlow 提供了如下工具:TensorFlow Serving:可以保持相同的服務器架構和 API,使得部署新算法和實驗變 得簡 單。TensorFlow Serving 提供了與 TensorFlow 模型開箱即用的整合,但同時還能很 容易擴展到其它類型的模型和數據。

TensorFlow 編程接口支持 PythonC++。隨著 1.0 版本的公布,Java、Go、R 和 Haskell API 的 alpha 版本也將被支持。此外,TensorFlow 還可在谷歌云和亞馬孫云中運行。

隨著 0.12 版本的發行,TensorFlow 將支持 Windows 7、 Windows 10 和 Server 2016。由于 TensorFlow 使用 C++ Eigen 庫,所以庫可在 ARM 架構上編譯和優化。這也就意味著你可以在各種服務器和移動設備上部署你的訓練模型,而無需執行單獨的模型解碼器或者加載 Python 解釋器。

TensorFlow 支持細粒度的網格層,而且允許用戶在無需用低級語言實現的情況下構建新的復雜的層類型。子圖執行操作允許你在圖的任意邊緣引入和檢索任意數據的結果。這對調試復雜的計算圖模型很有幫助。

分布式 TensorFlow(Distributed TensorFlow)被加進了 0.8 版本,它允許模型并行,這意味著模型的不同部分可在不同的并行設備上被訓練。

自 2016 年 3 月,斯坦福大學、伯克利大學、多倫多大學和 Udacity 都將這個框架作為一個免費的大規模在線開放課程進行教授。

TensorFlow 的缺點如下:

TensorFlow 的每個計算流都必須構造為一個靜態圖,且缺乏符號性循環(symbolic loops),這會帶來一些計算困難。

沒有對視頻識別很有用的三維卷積(3-D convolution)。

盡管 TensorFlow 現在比起始版本(v0.5)快了 58 倍,但在執行性能方面依然落后于競爭對手。

Caffe

地址:http://caffe.berkeleyvision.org/

Caffe 是賈揚清的杰作,目前他在 Facebook AI 平臺擔任首席工程師。Caffe 可能是自 2013 年底以來第一款主流的工業級深度學習工具包。正因為 Caffe 優秀的卷積模型,它已經成為計算機視覺界最流行的工具包之一,并在 2014 年的 ImageNet 挑戰賽中一舉奪魁。Caffe 遵循 BSD 2-Clause 協議。

Caffe 的快速使其完美應用于實驗研究和商業部署。Caffe 可在英偉達單個 K40 GPU 上每天處理 6000 萬張圖像。這大概是 1 毫秒預測一張圖片,4 毫秒學習一張圖片的速度,而且最新的版本處理速度會更快。

Caffe 基于 C++,因此可在多種設備上編譯。它跨平臺運行,并包含 Windows 端口。Caffe 支持 C++、Matlab 和 Python 編程接口。Caffe 擁有一個龐大的用戶社區,人們在其中為被稱為「Model Zoo(https://github.com/BVLC/caffe/wiki/Model-Zoo)」的深度網絡庫做貢獻。AlexNet 和 GoogleNet 就是社群用戶構建的兩個流行網絡。

雖然 Caffe 在視頻識別領域是一個流行的深度學習網絡,但是 Caffe 卻不能像 TensorFlow、CNTK 和 Theano 那樣支持細粒度網絡層。構建復雜的層類型必須以低級語言完成。由于其遺留架構,Caffe 對循環網絡和語言建模的支持總體上很薄弱。

Caffe2

地址:https://caffe2.ai/

目前,賈揚清和他在 Facebook 的團隊正在開發新一代框架 Caffe2。今年 4 月 18 日,Facebook 開源了 Caffe2。Caffe 2 與 Caffe 的區別是什么?Caffe2 更注重模塊化,在移動端、大規模部署上表現卓越。如同 TensorFlow,Caffe2 使用 C++ Eigen 庫,支持 ARM 架構。

用一個實用腳本,Caffe 上的模型可輕易地被轉變到 Caffe2 上。Caffe 設計的選擇使得它處理視覺類型的難題時很完美。Caffe2 延續了它對視覺類問題的支持,且增加了對自然語言處理、手寫識別、時序預測有幫助的 RNN 和 LSTM 支持。

期待不久之后能看到 Caffe 2 超越 Caffe,就像它宣稱的那樣在深度學習社區流行。

在英偉達推出 Volta 架構的第一塊加速卡 Tesla V100 后,Caffe 的開發者第一時間展示了 Tesla V100 在 Caffe2 上運行 ResNet-50 的評測。數據顯示在新框架和新硬件的配合下,模型每秒鐘可以處理 4100 張圖片。

鏈接:

https://caffe2.ai/blog/2017/05/10/caffe2-adds-FP16-training-support.html

CNTK

鏈接:https://github.com/Microsoft/CNTK/wiki

微軟的 CNTK(Microsoft Cognitive Toolkit)最初是面向語音識別的框架。CNTK 支持 RNN 和 CNN 類型的網絡模型,從而在處理圖像、手寫字體和語音識別問題上,它是很好的選擇。使用 Python 或 C++ 編程接口,CNTK 支持 64 位的 Linux 和 Windows 系統,在 MIT 許可證下發布。

與 TensorFlow 和 Theano 同樣,CNTK 使用向量運算符的符號圖(symbolic graph)網絡,支持如矩陣加 / 乘或卷積等向量操作。此外,像 TensorFlow 和 Theano 一樣,CNTK 有豐富的細粒度的網絡層構建。構建塊(操作)的細粒度使用戶不需要使用低層次的語言(如 Caffe)就能創建新的復雜的層類型。

CNTK 也像 Caffe 一樣基于 C++ 架構,支持跨平臺的 CPU/GPU 部署。CNTK 在 Azure GPU Lab 上顯示出最高效的分布式計算性能。目前,CNTK 不支持 ARM 架構,這限制了其在移動設備上的功能。

MXNet

鏈接:http://mxnet.io/

MXNet(發音為 mix-net)起源于卡內基梅隆大學和華盛頓大學的實驗室。MXNet 是一個全功能、可編程和可擴展的深度學習框架,支持最先進的深度學習模型。MXNet 支持混合編程模型(命令式和聲明式編程)和多種編程語言的代碼(包括 Python、C++、R、Scala、Julia、Matlab 和 JavaScript)。2017 年 1 月 30 日,MXNet 被列入 Apache Incubator 開源項目。

MXNet 支持深度學習架構,如卷積神經網絡(CNN)、循環神經網絡(RNN)和其包含的長短時間記憶網絡(LTSM)。該框架為圖像、手寫文字和語音的識別和預測以及自然語言處理提供了出色的工具。有些人稱 MXNet 是世界上最好的圖像分類器。

MXNet 具有可擴展的強大技術能力,如 GPU 并行和內存鏡像、快速編程器開發和可移植性。此外,MXNet 與 Apache Hadoop YARN(一種通用分布式應用程序管理框架)集成,使 MXNet 成為 TensorFlow 有力的競爭對手。

MXNet 不僅僅只是深度網絡框架,它的區別在于支持生成對抗網絡(GAN)模型。該模型啟發自實驗經濟學方法的納什均衡。

Torch

鏈接:http://torch.ch/

Torch 由 Facebook 的 Ronan Collobert 和 Soumith Chintala,Twitter 的 Clement Farabet(現任職于英偉達),以及 Google DeepMind 的 Koray Kavukcuoglu 共同開發。很多科技巨頭(如 Facebook、Twitter 和英偉達)都使用定制版的 Torch 用于人工智能研究,這大大促進了 Torch 的開發。Torch 是 BSD 3 協議下的開源項目。然而,隨著 Facebook 對 Caffe 2 的研究,以及其對移動設備的支持,Caffe 2 正成為主要的深度學習框架。

Torch 的編程語言為 Lua。Lua 不是主流語言,在開發人員沒有熟練掌握 Lua 之前,使用 Torch 很難提高開發的整體生產力。

Torch 缺乏 TensorFlow 的分布式應用程序管理框架,也缺乏 MXNet 和 Deeplearning4J 對 YARN 的支持。缺乏多種編程語言的 API 也限制了開發人員。

PyTorch

地址:http://pytorch.org/

PyTorch 由 Adam Paszke、Sam Gross 與 Soumith Chintala 等人牽頭開發,其成員來自 Facebook FAIR 和其他多家實驗室。它是一種 Python 優先的深度學習框架,在今年 1 月被開源,提供了兩種高層面的功能:

使用強大的 GPU 加速的 Tensor 計算(類似 numpy)。構建于基于 tape 的 autograd 系統的深度神經網絡

該框架結合了 Torch7 高效靈活的 GPU 加速后端庫與直觀的 Python 前端,它的特點是快速成形、代碼可讀和支持最廣泛的深度學習模型。如有需要,你可以復用你最喜歡的 Python 軟件包(如 numpy、scipy 和 Cython)來擴展 PyTorch。該框架因為其靈活性和速度,在推出以后迅速得到了開發者和研究人員的青睞。隨著 GitHub 上越來越多代碼的出現,PyTorch 作為新框架缺乏資源的問題已經得以緩解。

Deeplearning4J

地址:https://deeplearning4j.org/

Deeplearning4J(DL4J)是用 Java 和 Scala 編寫的 Apache 2.0 協議下的開源、分布式神經網絡庫。DL4J 最初由 SkyMind 公司的 Adam Gibson 開發,是唯一集成了 Hadoop 和 Spark 的商業級深度學習網絡,并通過 Hadoop 和 Spark 協調多個主機線程。DL4J 使用 Map-Reduce 來訓練網絡,同時依賴其它庫來執行大型矩陣操作。

DL4J 框架支持任意芯片數的 GPU 并行運行(對訓練過程至關重要),并支持 YARN(Hadoop 的分布式應用程序管理框架)。DL4J 支持多種深度網絡架構:RBM、DBN、卷積神經網絡(CNN)、循環神經網絡(RNN)、RNTN 和長短時間記憶網絡(LTSM)。DL4J 還對矢量化庫 Canova 提供支持。

DL4J 使用 Java 語言實現,本質上比 Python 快。在用多個 GPU 解決非平凡圖像(non-trivial image)識別任務時,它的速度與 Caffe 一樣快。該框架在圖像識別、欺詐檢測和自然語言處理方面的表現出眾。

Theano

地址:http://deeplearning.net/software/theano/

Theano 由蒙特利爾大學算法學習人工智能實驗室(MILA)維護。以 Theano 的創始人 Yoshua Bengio 為首,該實驗室是深度學習研究領域的重要貢獻者,擁有約 30 至 40 名學生和教師。Theano 支持快速開發高效的機器學習算法,在 BSD 協議下發布。

Theano 的架構如同一個黑箱;整個代碼庫和接口使用 Python,其中 C/CUDA 代碼被打包成 Python 字符串。這使得開發人員很難導航(navigate)、調試和重構。

Theano 開創了將符號圖用于神經網絡編程的趨勢。Theano 的符號式 API 支持循環控制(即 scan),這使得實現 RNN 容易且高效。

Theano 缺乏分布式應用程序管理框架,只支持一種編程開發語言。Theano 是很好的學術研究工具,在單個 CPU 上運行的效率比 TensorFlow 更有效。然而,在開發和支持大型分布式應用程序時,使用 Theano 可能會遇到挑戰。

開源 vs. 非開源

隨著深度學習的不斷發展,我們必將看到 TensorFlow、Caffe 2 和 MXNet 之間的不斷競爭。另一方面,軟件供應商也會開發具有先進人工智能功能的產品,從數據中獲取最大收益。風險:你將購買非開源的人工智能產品還是使用開源框架?有了開源工具,確定最適合的深度學習框架也是兩難問題。在非開源產品中,你是否準備了退出策略?人工智能的收益會隨著工具的學習能力的進步而上升,所以看待這些問題都需要用長遠的觀點。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1791

    文章

    46853

    瀏覽量

    237550
  • 深度學習
    +關注

    關注

    73

    文章

    5492

    瀏覽量

    120975

原文標題:從 TensorFlow 到 PyTorch:九大深度學習框架哪款最適合你?

文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發展,深度學習作為其核心驅動力之一,已經在眾多領域展現出了巨大的潛力和價值。NPU(Neural Processing Unit,神經網絡處理單元)是專門為深度學習
    的頭像 發表于 11-14 15:17 ?293次閱讀

    Pytorch深度學習訓練的方法

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

    GPU深度學習應用案例

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

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

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

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

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

    PyTorch深度學習開發環境搭建指南

    PyTorch作為一種流行的深度學習框架,其開發環境的搭建對于深度學習研究者和開發者來說至關重要。在Windows操作系統上搭建PyTorc
    的頭像 發表于 07-16 18:29 ?830次閱讀

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習深度學習領域的重要任務之一,廣泛應用于人體活動識別、系統監測、金融預測、醫療診斷等多個領域。隨著深度
    的頭像 發表于 07-09 15:54 ?706次閱讀

    深度學習與nlp的區別在哪

    深度學習和自然語言處理(NLP)是計算機科學領域中兩個非常重要的研究方向。它們之間既有聯系,也有區別。本文將介紹深度學習與NLP的區別。 深度
    的頭像 發表于 07-05 09:47 ?813次閱讀

    深度學習常用的Python庫

    深度學習常用的Python庫,包括核心庫、可視化工具、深度學習框架、自然語言處理庫以及數據抓取庫等,并詳細分析它們的功能和優勢。
    的頭像 發表于 07-03 16:04 ?568次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的一個重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型的過程中,深度
    的頭像 發表于 07-02 14:04 ?887次閱讀

    深度解析深度學習下的語義SLAM

    隨著深度學習技術的興起,計算機視覺的許多傳統領域都取得了突破性進展,例如目標的檢測、識別和分類等領域。近年來,研究人員開始在視覺SLAM算法中引入深度學習技術,使得
    發表于 04-23 17:18 ?1238次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學習</b>下的語義SLAM

    FPGA在深度學習應用中或將取代GPU

    將 AI 框架模型映射到硬件架構。 Larzul 的公司 Mipsology 希望通過 Zebra 來彌合這一差距。Zebra 是一種軟件平臺,開發者可以輕松地將深度學習代碼移植到 FPGA 硬件上
    發表于 03-21 15:19

    PatchMatch MVS求解器中深度估計的挑戰性問題

    本文提出了一種全新的學習型PatchMatch MVS框架,DS-PMNet,并嵌入了DeformSampler。這個框架能夠以端到端的方式學習隱含
    的頭像 發表于 01-02 09:25 ?543次閱讀
    PatchMatch MVS求解器中<b class='flag-5'>深度</b>估計的挑戰性問題

    GPU在深度學習中的應用與優勢

    學習中究竟擔當了什么樣的角色?又有哪些優勢?一、GPU加速深度學習訓練并行處理GPU的核心理念在于并行處理。在深度
    的頭像 發表于 12-06 08:27 ?1208次閱讀
    GPU在<b class='flag-5'>深度</b><b class='flag-5'>學習</b>中的應用與優勢

    深度學習在人工智能中的 8 種常見應用

    ,徹底改變了人工智能。人腦的結構和操作啟發了這些算法。覺得怎么樣?人工智能(AI)中有哪些典型的深度學習應用?深度學習經常用于各種人工智能
    的頭像 發表于 12-01 08:27 ?3235次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b>在人工智能中的 8 種常見應用