那曲檬骨新材料有限公司

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

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

3天內不再提示

深度學習框架不能“包治百病”什么樣的深度學習框架才是適合自己的呢?

DPVg_AI_era ? 來源:lq ? 2019-02-11 09:41 ? 次閱讀

隨著深度學習關注度和勢頭上升,深度學習被越來越多的企業和組織的生產實踐結合起來。這時,無論是對于深度學習相關專業的初學者,還是已經在企業和組織中從事工業場景應用和研發的開發者來說,選擇一個適合自己,適合業務場景需求的深度學習框架顯得尤為重要。

對于不同學習階段和不同崗位的開發者來說,什么樣的深度學習框架才是適合自己的呢?為此,AI 前線邀請了來自BAT的深度學習框架專家解答這個疑問。

以下是選擇深度學習框架時常見的幾個問題:

目前,國內外有哪些主流的深度學習框架?分別有什么優缺點?

TensorFlow:谷歌大廠出品,社區資源豐富,用戶群體廣泛。如果你的業務是實現一個比較成熟的應用場景,選擇 TensorFlow 是個不錯的選擇,畢竟大部分坑前人已經踩過了。如果你還是一名初學者,想要去實現全新的算法,那要慎重選擇 TensorFlow,因其發展時間較久,代碼庫龐大,想要真正看懂它的代碼會是一個不小的挑戰。

PaddlePaddle:百度出品,跟 TF 類似,PaddlePaddle 也是在百度內部實際應用的工業框架。值得一提的是,PaddlePaddle 為大量工業級模型提供官方支持;大規模分布式訓練技術能力強,支持大規模稠密參數和稀疏參數場景的并行訓練;基于其中文文檔友好、簡單易上手的特點,社區活躍度不斷提高。本土開發者中文交流非常方便。

PaddlePaddle 已經升級為全面的深度學習開發套件,除了核心框架,還開放了 VisualDL、PARL、AutoDL、EasyDL、AI Studio 等一整套的深度學習工具組件和服務平臺,更好地滿足不同層次的深度學習開發者的開發需求。18 年百度加大了生態投入,在工業制造、農林領域有不少案例,對于想要落地應用場景,特別是針對中文語言處理的場景和大規模推薦場景,PaddlePaddle 或許是個不錯的選擇。

PyTorch+Caffe2:臉書出品。PyTorch 前身是 Torch(一個基于 Lua 語言的深度學習庫)。PyTorch 靈活性相比 TensorFlow 大大增強,支持動態構圖,開發者可以隨時改變神經網絡的結構。PyTorch 今年因其易用性表現突出,越來越受到學術界的青睞。

如果你是一名初學者,想要去復現前沿的算法,推薦使用 PyTorch。如果你是工業場景開發者,最好先搜一搜是否已經有使用 PyTorch 的成功落地案例。因為在運算效率、工業部署上,PyTorch 還不算成熟。Caffe2 為生產環境設計,提供在各種平臺(包括移動設備)的運行時。Caffe2 意在彌補 Pytorch 在生產環境的不足,目前還沒有看到太多開發者反饋 Caffe2 的工業表現,需要更多時間驗證。

MxNet:已被亞馬遜 (Amazon) 選為 AWS 上的深度學習框架,支持動態圖計算。優勢是高效小巧,更適合自定義需求高的公司和研究者。如果你的工作需要對框架進行修改時,改 MxNet 要比改 TF 高效多了。MXNet 的用戶相比其他框架并不算太多,有少量擁戴者。MXNet 在文檔質量方便經常被詬病,新手還需要多磨合一下。

Keras:是一個用于快速構建深度學習原型的高層神經網絡庫,Keras 由純 Python 編寫而成,并基于 Tensorflow、Theano 以及 CNTK 后端。Keras 隱藏了大部分的內部運算,對于新手來說非常友好。如果想要快速入門,建議可以選擇 Keras。但真的想成為深度學習大拿,還是要手動從零開始寫一個神經網絡的代碼,否則容易依賴于 Keras 的易使用性而忽略底層原理。

XDL:阿里出品。X-Deep Learning (XDL) 是針對特定工業級場景(比如廣告)深度學習問題的解決方案,而不是與其他框架并列的底層框架。實際上,XDL 采用橋接的方式支持使用 TensorFlow 和 MXNet 作為單節點的計算后端。對于已經使用 TensorFlow、MXNet 的開發者來說,如果需要在大規模稀疏場景應用可以選擇 XDL 試試, XDL 依賴于阿里提供特定的部署環境,對非阿里系用戶不是很人性化。

不同學習階段、不同崗位的開發者,面對不同的業務場景需求應該選擇什么深度學習框架?選擇和衡量的標準是什么?

不同類型的用戶,選擇和衡量的標準會有一定差異。選擇框架通常要考慮易用性、性能、社區、平臺支持等問題。初學者應該考慮容易上手的框架。偏研究性的開發者,一般選擇易用而且有領先的模型基線的框架。偏工業應用的開發者可以考慮使用穩定性高、性能好的框架。比較高階的用戶,往往需要同時掌握多個框架。

最新的開源算法可能會基于某個框架,掌握多個框架可以更快復現前沿成果。同時不同框架在不同模型上有性能差異,掌握多個框架也可以選擇在某個場景下最適合的框架。

在選擇深度學習框架時有哪些經驗可以分享?需要考慮哪些因素?

開發者通常用深度學習框架組建網絡,去解決實際企業級業務中的具體問題,比如:詞法分析、機器翻譯等。選擇框架時通常需要關注以下一些因素:

框架是否已經官方支持了當前最好的算法,比如中文詞法分析任務。

框架是否高效。同樣的算法用不同框架實現,訓練速度更快,意味著更少的線下資源,更快的迭代速度;預測速度更快,意味著實際部署時可以為企業節省大量的機器資源,也具有更高的響應速度。

框架的接口是否容易使用。

掌握一個深度學習框架,開發者需要做哪些準備?

在開發者已經學習 Python 程序開發和深度學習基礎知識的前提下,掌握一個深度學習框架,開發者需要了解框架的基本原理,學習并掌握框架的基本概念和用法。

通??梢韵葟墓俜轿臋n開始,通過大致瀏覽官方文檔對框架基本概念和用法有一個大致的了解。

另外可以結合官方提供的快速入門例子,在自己的機器上安裝并練習使用。

然后可以再從官方的模型庫里面挑選一些算法,進行學習參考。

結合自己具體任務組建網絡,查看 API 接口文檔,解決實際任務。

深度學習框架能“包治百病”嗎?是否適用于所有應用場景需求?

需要提醒大家的是,深度學習框架不能包至百病,深度學習框架能夠解決的是適合使用深度學習技術的應用場景。

深度學習(DL)是機器學習(ML)的一個分支,也是當下最流行的機器學習方法,雖然近幾年在圖像、語音、自然語言處理等應用方向,深度學習技術都取得了突破性的進展,但是我們依然不應該神話深度學習,認為深度學習無所不能。

適合掌握深度學習的任務應具備這樣一些特點:

具備大量樣本數據。如果樣本數據難以獲取或者數量太少,我們認為就不適合深度學習技術解決

樣本數據對場景的覆蓋度足夠完善。深度學習模型的效果完全依賴樣本數據表現,如果出現樣本數據外的情況,模型的推廣性會變差

結果對可解釋性的要求不高。如果應用場景不僅要機器能夠完成某項任務,還需對完成過程有明確的可解釋性,這樣的場景就不那么適合深度學習。

中國的深度學習框架有哪些不同于歐美國家主流深度學習開發框架的特點和創新?

從深度學習框架的特點來講,中國和歐美的的區分未必是一個合適的分類方式。很多中國深度學習框架研發的主體是中國工程師,也是在中國公司成長起來的,自然對國內的實際應用特點把握得會更精準,而且在中文文檔、中文教程以及中文模型配套上是獨具特色的。

未來,框架發展會出現哪些趨勢?

首先,當前仍處于深度學習研究和應用的持續火熱期,深度學習框架及平臺在研究界和工業界的需求仍持續增長。深度學習框架和平臺在產業界的市場占有還未進入穩定期,當然未來一段時間應該也不會出現完全一家獨大的壟斷局面。

一方面整體的市場需求是很大也很多樣化的,另一方面不同框架在特性及發力點上自然會有一些差異性的適配。隨著深度學習在各行各業的廣泛應用,服務能力強的、更貼近用戶需求的框架會有更大的提升機會。

過去一段時間,動態圖的靈活性、易用性展現出對科研人員極大的吸引力,更多框架開始支持動態圖,但需要進一步解決動態圖下的性能優化問題。因為在工業界,訓練效率和規?;冀K是最重要的。所以,各框架取長補短趨同性比較明顯,前端易用性、計算高效性、框架穩定性成為持續優化方向。當然,不同框架的先天基因的特性還是非常明顯的。

此外需要注意的是,AI 專有芯片也在快速發展,框架和底層芯片的軟硬結合一體化研發也日益引起關注。AI 應用部署場景快速擴張,框架對各硬件平臺的快速部署和高效推理能力變得非常重要。整體而言,需要支持多硬件的高效計算。這也使得框架 內部架構上傾向于更好的抽象分層,保持整體邏輯的統一性和異構硬件執行的高效性。

另一方面,深度學習框架的內涵也在延展。深度學習框架的出現本身就是為了深度學習研究、實驗和應用的便利性,節省了開發者很大的編程代價。但對于深度學習技術而言,網絡設計其實也是非常重要的一環,基礎的深度學習框架是無法解決這個問題的。所以當下 神經網絡結構的自動設計 AutoDL 技術就成為新的熱點,也和深度學習框架進行更緊密的結合。

從便利深度學習技術應用來講,只靠開源框架還是不夠的,需要場景化組件、模塊、平臺和產品的組合打法,框架之上的平臺、配套組件構成的深度學習全流程解決方案對實際應用非常關鍵。若想深度學習框架在實際應用中發揮更大作用,是需要 更全面的綜合服務配套建設的。

如何看待接下來的框架之爭?

隨著深度學習技術的普及,各家框架的成熟化,深度學習技術的門檻會越來越低。在研究場景中,好用、靈活易擴展是最重要的考量因素,從目前的趨勢來看,PyTorch 在易用性上有一定優勢。PaddlePaddle 在實際生產場景中,框架的易用性、穩定性、生態資源的豐富度將取代技術的領先性成為開發者更重要的考量因素。

未來,擁有完整生態資源、有實際應用場景支撐的框架會爭奪到越來越多的企業開發者用戶。在國外,依賴于谷歌生態的 TensorFlow,依賴于 AWS 云生態的 MXNet,未來都有一定的機會。

想要形成自己的產品生態,需要哪些必備條件?

想要形成自己的產品生態,需要具備四大條件:

掌握能為最終用戶提供巨大收益的核心技術。如深度學習領域框架所涉及的異構計算、并行訓練、多路通信、多端部署及核心算法等關鍵技術。廠商需要擁有深度學習核心技術并形成自己的特色,才具備了生態號召力。

核心產品或服務能夠規?;貞煤吐涞亍T谏鷳B拓展的過程中,廠商有能力通過平臺和資源沉淀足夠多的通用解決方案。

能為最終用戶提供全面的體驗。深度學習框架應用門檻較高,真正在企業廣泛落地,還有很多的工作要做,比如結合企業需求的深度定制優化、深度學習配套工具建設、細致的企業服務等等,這要求廠商能夠有效整合生態系統中的各個伙伴能力,為最終用戶提供更全面的產品體驗。

擁有持續創新的能力。廠商應該有足夠的資金和動力讓核心技術和產品持續創新,使得生態系統的用戶相信核心業務能夠一直使他們受益。

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

    關注

    66

    文章

    8441

    瀏覽量

    133093
  • 深度學習
    +關注

    關注

    73

    文章

    5516

    瀏覽量

    121556
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13366

原文標題:BAT專家解讀:如何選出最合適的深度學習框架?

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

收藏 人收藏

    評論

    相關推薦

    Nanopi深度學習之路(1)深度學習框架分析

    就能實現!還請關注我后面的日記。實際上我也是剛剛有時間學習深度學習,我是個純初學者,但面對深度學習里的各種復雜理論和公式推導,
    發表于 06-04 22:32

    深度學習在計算機視覺領域圖像應用總結 精選資料下載

    簡單的回顧的話,2006年Geoffrey Hinton的論文點燃了“這把火”,現在已經有不少人開始潑“冷水”了,主要是AI泡沫太大,而且深度學習不是
    發表于 07-28 08:22

    通過對比深度學習各大框架的優缺點尋找最優

    開源的深度學習神經網絡正步入成熟,而現在有許多框架具備為個性化方案提供先進的機器學習和人工智能的能力。那么如何決定哪個開源框架
    發表于 11-15 19:04 ?2.3w次閱讀
    通過對比<b class='flag-5'>深度</b><b class='flag-5'>學習</b>各大<b class='flag-5'>框架</b>的優缺點尋找最優

    深度學習算法和應用涌現的背后,是各種各樣的深度學習工具和框架

    回顧深度學習框架的演變,我們可以清楚地看到深度學習框架深度
    的頭像 發表于 01-21 13:46 ?2816次閱讀

    深度學習框架pytorch入門與實踐

    深度學習框架pytorch入門與實踐 深度學習是機器學習中的一個分支,它使用多層神經網絡對大量數
    的頭像 發表于 08-17 16:03 ?1658次閱讀

    深度學習框架是什么?深度學習框架有哪些?

    深度學習框架是什么?深度學習框架有哪些?? 深度
    的頭像 發表于 08-17 16:03 ?2907次閱讀

    深度學習框架區分訓練還是推理嗎

    模型,以便將來能夠進行準確的預測。推理是指在訓練完成后,使用已經訓練好的模型進行新的預測。然而,深度學習框架是否區分訓練和推理? 大多數深度
    的頭像 發表于 08-17 16:03 ?1447次閱讀

    深度學習框架的作用是什么

    深度學習框架的作用是什么 深度學習是一種計算機技術,它利用人工神經網絡來模擬人類的學習過程。由于
    的頭像 發表于 08-17 16:10 ?1645次閱讀

    深度學習框架tensorflow介紹

    深度學習框架tensorflow介紹 深度學習框架TensorFlow簡介
    的頭像 發表于 08-17 16:11 ?2601次閱讀

    深度學習算法庫框架學習

    深度學習算法庫框架學習 深度學習是一種非常強大的機器學習
    的頭像 發表于 08-17 16:11 ?750次閱讀

    深度學習框架對照表

    深度學習框架對照表? 隨著人工智能技術的發展,深度學習正在成為當今最熱門的研究領域之一。而深度
    的頭像 發表于 08-17 16:11 ?865次閱讀

    深度學習框架連接技術

    深度學習框架連接技術 深度學習框架是一個能夠幫助機器學習
    的頭像 發表于 08-17 16:11 ?821次閱讀

    深度學習cntk框架介紹

    深度學習cntk框架介紹? 深度學習是最近幾年來非常熱門的話題,它正在徹底改變我們生活和工作的方式。隨著越來越多的創新和發展,人工智能和機器
    的頭像 發表于 08-17 16:11 ?1464次閱讀

    深度學習框架深度學習算法教程

    深度學習框架深度學習算法教程 深度學習是機器
    的頭像 發表于 08-17 16:11 ?1124次閱讀

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

    學習框架,它們各自擁有獨特的特點和優勢。本文將從背景介紹、核心特性、操作步驟、性能對比以及選擇指南等方面對TensorFlow和PyTorch進行詳細比較,以幫助讀者了解這兩個框架的優缺點,并選擇最
    的頭像 發表于 07-02 14:04 ?1079次閱讀
    百家乐官网信誉平台现金投注| 大发888常见断续| 百家乐去哪里玩最好| 百家乐官网案件讯问| 将军百家乐的玩法技巧和规则| 至尊百家乐官网20130301| 澳门顶级赌场国际| 真钱百家乐公司哪个好| 在线百家乐官网平台| 德州扑克怎么分钱| 明升百家乐QQ群| 澳门百家乐官网真人版| 大发888娱乐场 34| 现场百家乐投注| 百家乐官网玩法介绍图片| 明升88娱乐城| 皇家百家乐出租平台| 天天百家乐官网的玩法技巧和规则 | 百家乐视频麻将游戏| 缅甸百家乐官网博彩| 博雅德州扑克网页版| 百家乐出千赌具| 百家乐官网外套| 娱乐场| 怎样赢百家乐的玩法技巧和规则 | 大发888开户,| 百家乐技巧下载| 百家乐官网平注常赢玩法技巧| 打百家乐官网如何赢分| 上海德州扑克俱乐部| 百家乐赌博公司| 百家乐官网稳一点的押法| 亿乐棋牌游戏大厅| 乐天百家乐的玩法技巧和规则| 择日自学24| 百家乐官网吹| 西平县| 大发888娱乐场下载 制度| 百家乐娱乐网真钱游戏| 百家乐赢钱皇冠网| 百家乐官网赢退输进有哪些|