目錄[隱藏][顯示]
3.阿帕奇MXNet+ -
4. 微軟認知工具包+ -
6. 蘋果核心機器學習+ -
- 結論
深度學習框架由接口、庫和工具的組合組成,用於快速準確地定義和訓練機器學習模型。
由於深度學習使用大量非結構化、非文本數據,因此您需要一個框架來控制“層”之間的交互,並通過從輸入數據中學習並做出自主決策來快速開發模型。
如果您有興趣在 2021 年了解深度學習,請考慮使用以下框架之一。 請記住選擇一個可以幫助您實現目標和願景的產品。
1. TensorFlow
在談到深度學習時, TensorFlow 通常是提到的第一個框架。 這個框架非常受歡迎,不僅被谷歌——負責創建它的公司——使用,還被 Dropbox、eBay、Airbnb、Nvidia 等其他公司使用。
TensorFlow 可用於開發高級和低級 API,允許您在幾乎任何類型的設備上運行應用程序。 儘管 Python 是其主要語言,但 Tensoflow 的界面可以使用其他編程語言(例如 C++、Java、Julia 和 JavaScript)進行訪問和控制。
作為開源,TensorFlow 允許您與其他 API 進行多次集成,並獲得社區的快速支持和更新。 它依賴於“靜態圖”進行計算,使您可以立即進行計算或保存操作以供其他時間訪問。 這些原因,再加上您可以通過 TensorBoard“觀察”神經網絡的發展,使 TensorFlow 成為最流行的深度學習框架。
主要功能
- 開源
- 靈活安排
- 快速調試
2. 火炬
PyTorch 是 Facebook 開發的一個框架,用於支持其服務的運行。 自開源以來,該框架已被 Facebook 以外的公司使用,例如 Salesforce 和 Udacity。
該框架運行動態更新的圖形,允許您在處理數據集時對其架構進行更改。 使用 PyTorch,即使沒有任何深度學習經驗,也可以更輕鬆地開發和訓練神經網絡。
作為開源並基於 Python,您可以簡單快速地集成到 PyTorch。 它也是一個學習、使用和調試的簡單框架。 如果您有任何疑問,您可以依靠 Python 社區和 PyTorch 社區這兩個社區的大力支持和更新。
主要功能
- 簡單易學
- 支持GPU和CPU
- 豐富的 API 集來擴展庫
3. 阿帕奇MXNet
由於其高可擴展性、高性能、快速故障排除和高級 GPU 支持,該框架由 Apache 創建,用於大型工業項目。
MXNet 包括 Gluon 接口,允許所有技能水平的開發人員 開始深度學習 在雲端、邊緣設備和移動應用程序上。 只需幾行 Gluon 代碼,您就可以構建線性回歸、卷積網絡和循環 LSTM 目標檢測、語音識別、推薦和個性化。
MXNet 可以在各種設備上使用,並受到多個設備的支持 編程語言 例如 Java、R、JavaScript、Scala 和 Go。 儘管其社區中的用戶和成員數量很少,但 MXNet 具有編寫良好的文檔和巨大的增長潛力,特別是現在亞馬遜已選擇該框架作為 AWS 上機器學習的主要工具。
主要功能
- 8種語言綁定
- 分佈式訓練,支持多CPU多GPU系統
- 混合前端,允許在命令模式和符號模式之間切換
4. Microsoft認知工具包
如果您正在考慮開發在 Azure(Microsoft 雲服務)上運行的應用程序或服務,Microsoft Cognitive Toolkit 是為您的深度學習項目選擇的框架。 這是開源的,並受到 Python、C++、C#、Java 等編程語言的支持。 該框架旨在“像人腦一樣思考”,因此它可以處理大量非結構化數據,同時提供快速訓練和直觀的架構。
通過選擇此框架(與 Skype、Xbox 和 Cortana 相同的框架),您將從應用程序、可擴展性和與 Azure 的簡單集成中獲得良好的性能。 但是,與 TensorFlow 或 PyTorch 相比,其社區中的成員數量和支持有所減少。
以下視頻提供了完整的介紹和應用示例:
主要功能
- 清晰的文件
- 微軟團隊的支持
- 直接圖形可視化
5. 凱拉斯
與 PyTorch 一樣,Keras 是一個基於 Python 的庫,用於數據密集型項目。 keras API 在高層次上工作,並允許與低層次的 API 集成,例如 TensorFlow、Theano 和 Microsoft Cognitive Toolkit。
使用 keras 的一些優點是學習簡單——是深度學習初學者的推薦框架; 它的部署速度; 得到了 python 社區和與其集成的其他框架社區的大力支持。
Keras 包含各種實現 神經網絡的構建塊 例如層、目標函數、激活函數和數學優化器。 它的代碼託管在 GitHub 上,並且有論壇和 Slack 支持頻道。 除了支持標準 神經網絡, Keras 提供對卷積神經網絡和循環神經網絡的支持。
Keras 允許 深度學習模型 可在 iOS 和 Android 智能手機、Java 虛擬機或網絡上生成。 它還允許在圖形處理單元 (GPU) 和張量處理單元 (TPU) 集群上使用深度學習模型的分佈式訓練。
主要功能
- 預訓練模型
- 多後端支持
- 用戶友好的大型社區支持
6. 蘋果核心機器學習
Core ML 由 Apple 開發以支持其生態系統 - IOS、Mac OS 和 iPad OS。 它的 API 在低級別工作,充分利用 CPU 和 GPU 的資源,這使得創建的模型和應用程序即使沒有互聯網連接也能繼續運行,從而減少了設備的“內存佔用”和功耗。
Core ML 實現這一點的方式並不完全是通過製作另一個針對在 iphone/ipad 上運行而優化的機器學習庫。 相反,Core ML 更像是一個編譯器,它接受模型規範和用其他機器學習軟件表示的訓練參數,並將其轉換為一個文件,成為 iOS 應用程序的資源。 這種向 Core ML 模型的轉換發生在應用程序開發期間,而不是在使用應用程序時實時進行,並且由 coremltools python 庫促進。
Core ML 通過輕鬆集成 機器學習 模型到應用程序。 它支持具有 30 多種層的深度學習以及決策樹、支持向量機和線性回歸方法,所有這些都建立在 Metal 和 Accelerate 等低級技術之上。
主要功能
- 易於集成到應用程序中
- 優化使用本地資源,無需互聯網訪問
- 隱私:數據不必離開設備
7. 昂尼克斯
我們列表中的最後一個框架是 ONNX。 該框架源自微軟和 Facebook 之間的合作,旨在簡化在不同框架、工具、運行時和編譯器之間傳輸和構建模型的過程。
ONNX 定義了一種可以在多個平台上運行的通用文件類型,同時利用低級 API 的優勢,例如來自 Microsoft Cognitive Toolkit、MXNet、Caffe 和(使用轉換器)Tensorflow 和 Core ML 的 API。 ONNX 背後的原理是在堆棧上訓練模型並使用其他推理和預測來實現它。
LF AI 基金會是 Linux 基金會的一個子組織,是一個致力於構建生態系統以支持 開放源碼 人工智能 (AI)、機器學習 (ML) 和深度學習 (DL) 的創新。 它於 14 年 2019 月 XNUMX 日將 ONNX 添加為研究生級項目。在 LF AI 基金會的保護下,ONNX 的這一舉措被視為將 ONNX 確立為供應商中立的開放格式標準的一個重要里程碑。
ONNX 模型動物園是深度學習中預訓練模型的集合,以 ONNX 格式提供。 每個模型都有 Jupyter筆記本 用於模型訓練和使用訓練好的模型進行推理。 這些筆記本是用 Python 編寫的,包含指向 訓練數據集 以及對描述模型架構的原始科學文件的引用。
主要功能
- 框架互操作性
- 硬件優化
結論
這是對最佳框架的總結 深入學習. 為此目的有幾個框架,免費或付費。 要為您的項目選擇最好的,首先要知道您將為哪個平台開發應用程序。
TensorFlow 和 Keras 等通用框架是最佳選擇。 但如果您需要使用操作系統或設備特定的優勢,那麼 Core ML 和 Microsoft Cognitive Toolkit 可能是最佳選擇。
還有其他針對 Android 設備、其他機器和特定用途的框架在此列表中未提及。 如果您對後者感興趣,我們建議您在 Google 或其他機器學習網站上搜索他們的信息。
發表評論