在過去的幾年中,人工智能正在佔領技術的許多領域。 來自不一樣背景的開發人員最終意識到了AI爲他們帶來的機遇,而無論他們的需求如何。前端
在今天的文章中,咱們列出了7種最佳的開源AI /機器學習系統和框架。android
一、TensorFlow算法
TensorFlow多是世界上最著名的機器學習開源框架。它由Google開發,併爲多種編程語言(例如Python,Javascript,C ++和Java)提供API。編程
它還支持移動操做系統(iOS和android,對於iOS,它支持Swift編程語言),所以你可使用它來構建移動應用,該應用利用即時機器學習來構建模型並根據現實世界的數據進行訓練。網絡
TensorFlow還具備許多其餘功能,例如,它提供TensorFlow Extended(TFX)來幫助你在任何地方部署生產,可擴展的高性能管道,而TFDV能夠幫助你大規模驗證數據,TensorFlow Model Analysis可使機器可視化和分析學習你創建的模型。它確實是一個完整的框架,可是你知道有什麼更好的嗎?由於它所有開源,免費!架構
TensorFlow用Python編程語言編寫,這就是爲何你能夠輕鬆地將其輕鬆安裝在Windows,macOS和Linux發行版上的緣由。它還集成到Google Cloud中,所以你能夠根據須要直接將其部署到生產中。框架
二、Scikit-learn機器學習
Scikit-learn是一個徹底用Python編寫的機器學習框架。 它使你可使用已創建的模型對數據運行分類,迴歸,聚類和降維過程,同時支持有監督和無監督的學習方法。編程語言
Scikit-learn是僅Python的實現,所以儘管它對Java / Javascript框架的移植性不強,但仍能夠在全部現代桌面操做系統上使用。分佈式
Scikit-learn之因此不同凡響,是由於它提供了龐大的高質量文檔,以及全部部分的一致API。 Scikit-learn也很是清楚你在處理它時可能須要使用哪一種估計器:
三、Torch
Torch是爲LuaJIT編寫的完整的科學計算環境,它是針對Lua語言的即時(JIT)編譯器。 Torch不只是機器學習框架/庫,仍是更大的科學計算環境,可是它提供的功能之一是對機器學習的支持。
若是你要使用Torch,那麼你必須知道,你必定會使用真正的社區驅動的龐大庫和附件之一; 從機器學習到並行處理以及經過可視化庫傳遞……Torch中存在你在科學環境中所需的一切。
讓Torch感到遺憾的是,它在5個月前就退出了積極的開發並進入了維護模式。 所以,儘管它具備功能性和所有功能,但你不該期望很快會有任何新的更新。
四、PyTorch
基於之前的Torch庫,PyTorch是Python優先的機器學習框架,被大量用於深度學習。它支持CUDA技術(來自NVIDIA),能夠在訓練,分析和驗證神經網絡模型中充分利用專用GPU的功能。
PyTorch的使用很是普遍,而且正在積極地開發和支持。確實如此,由於儘管它是徹底免費和開源的,但它提供了大量有價值的功能;它支持分佈式訓練(使用各類對等計算機訓練模型),具備C ++前端(意味着你能夠在C ++應用程序和系統中使用PyTorch),支持集成到許多雲合做夥伴(例如AWS,Google Cloud)和Microsoft Azure,並擁有大量的開發人員和科學家社區,所以不斷爲其提供模塊和第三方社區附加組件。
它還提供了大量的學習資源,從在線課程到完整的API文檔和快速指南,以及在線論壇和Slack渠道支持的傳遞……你始終能夠在PyTorch社區中找到幫助。
五、Microsoft Cognitive工具包
另外一個深度學習庫是Microsoft Cognitive Toolkit。 它能夠與Python,C#和C ++語言一塊兒使用,而且僅適用於Windows和Linux發行版的64位版本。 它是根據MIT許可得到許可的。
CNTK與Torch和PyTorch同樣,支持NVIDIA的CUDA技術。 它也與.NET標準兼容,所以可用於經過.NET框架(甚至在Linux上)編寫跨平臺應用程序。 它支持ONNX格式(這是神經網絡的開源格式)。
六、Accord.NET
正如你已經從其名稱中已經意識到的那樣,該框架主要是爲.NET框架構建的。 它不只僅是一個機器學習框架,而是爲.NET中開發的任何內容提供統計信息,計算機視覺和圖像處理方法。 所以,它能夠在Windows,macOS,Linux,android和iOS上運行。
Accord.NET優於此列表中提到的許多其餘框架,這是它具備對語音識別,面部識別和圖像識別的內置實時支持。 所以,若是你真正從各個角度學習了該框架,則能夠將其用於所需的任何類型的任務以及任何類型的應用程序。
使用Accord.NET已經出版了大量學術出版物,而且背後有大量的用戶社區。
七、DatumBox
列表中的最後一項是徹底用Java編寫的框架。DatumBox,正如其開發人員所描述的那樣:
Datumbox機器學習框架是一個用Java編寫的開源框架,它容許快速開發機器學習和統計應用程序。該框架的主要重點是包括大量的機器學習算法和統計方法,並可以處理大型數據集。
Datumbox開發
DatumBox的開發人員提供了一個在線高級API,該API利用DatumBox機器學習框架來完成各類預先構建的高級任務。若是你不想使用它,則能夠簡單地下載機器學習框架,構建模型並本身進行訓練。
結論
所以,你在這篇文章中看到了有多少種出色的開源機器學習模型,它們在提供的質量和功能方面很是出色。 很難說必須使用專有的機器學習/ AI框架。
計算機視覺與語音識別的應用示例
Gravitylink推出鈦靈AIX是一款集計算機視覺與智能語音交互兩大核心功能爲一體的人工智能硬件,Model Play是面向全球開發者的AI模型資源平臺,內置多樣化AI模型,與鈦靈AIX結合。AIX支持TensorFlow等多種開發框架,Model Play則兼容多種AI開發硬件,好比帶有Google Coral邊緣計算芯片的開發板、以及英特爾神經計算加速棒等。