10個機器學習人工智能開發框架和AI庫(優缺點對比表)/貪心學院

概述

經過本文咱們來一塊兒看一些用於人工智能的高質量AI庫,它們的優勢和缺點,以及它們的一些特色。程序員

人工智能(AI)已經存在很長時間了。然而,因爲這一領域的巨大進步,近年來它已成爲一個流行語。人工智能曾經被稱爲一個完整的書呆子和天才的領域,但因爲各類開發庫和框架的發展,它已經成爲一個友好的IT領域,並有不少人正走進它。算法

在這篇文章中,咱們將研究用於人工智能的優質庫,它們的優缺點以及它們的一些特徵。讓咱們深刻並探索這些人工智能庫的世界!編程

1. TensorFlow

「使用數據流圖表的可伸縮機器學習的計算」後端

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C ++或Python。數組

當進入AI時,你會聽到的第一個框架之一就是Google的TensorFlow。服務器

TensorFlow是一個使用數據流圖表進行數值計算的開源軟件。這個框架被稱爲具備容許在任何CPU或GPU上進行計算的架構,不管是臺式機、服務器仍是移動設備。這個框架在Python編程語言中是可用的。網絡

TensorFlow對稱爲節點的數據層進行排序,並根據所得到的任何信息作出決定。點擊查看詳情!架構

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:框架

  • 使用易於學習的語言(Python)。
  • 使用計算圖表抽象。
  • 用於TensorBoard的可用性的可視化。

缺點:機器學習

  • 這很慢,由於Python不是語言中最快的。
  • 缺少許多預先訓練的模型。
  • 不徹底開源。

2. Microsoft CNTK

「開源深度學習工具包」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C ++。

咱們能夠稱之爲微軟對Google的TensorFlow的迴應。

微軟的計算網絡工具包是一個加強分離計算網絡模塊化和維護的庫,提供學習算法和模型描述。

在須要大量服務器進行操做的狀況下,CNTK能夠同時利用多臺服務器。

聽說它的功能與Google的TensorFlow相近;可是,它會更快。在這裏瞭解更多。

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 這是很是靈活的。
  • 容許分佈式訓練。
  • 支持C ++、C#、Java和Python。

缺點:

  • 它以一種新的語言——網絡描述語言(Network Description Language , NDL)來實現。
  • 缺少可視化。

3. Theano

「數值計算庫」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:Python。

Theano是TensorFlow的強有力競爭者,是一個功能強大的Python庫,容許以高效率的方式進行涉及多維數組的數值操做。

Theano庫透明地使用GPU來執行數據密集型計算而不是CPU,所以操做效率很高。

出於這個緣由,Theano已經被用於爲大規模的計算密集型操做提供動力大約十年。

然而,在2017年9月,宣佈Theano的主要開發將於2017年11月發佈的1.0版本後中止。

這並不意味着它是一個不夠強大的庫。你仍然能夠隨時進行深刻的學習研究。在這裏瞭解更多。

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 正確優化CPU和GPU。
  • 有效的數字任務。

缺點:

  • 與其餘庫相比,原生Theano有點低級。
  • 須要與其餘庫一塊兒使用以得到高度的抽象化。
  • AWS上有點bug。

4. Caffe

「快速、開源的深度學習框架」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C ++。

Caffe是一個強大的深度學習框架。

像這個清單上的其餘框架同樣,深度學習的研究速度很是快。

藉助Caffe,您能夠很是輕鬆地構建用於圖像分類的卷積神經網絡(CNN)。Caffe在GPU上運行良好,這有助於在運行期間提升速度。查看主頁獲取更多信息。

Caffe主要的類有:

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • Python和MATLAB的綁定可用。
  • 性能表現良好。
  • 無需編寫代碼便可進行模型的訓練。

缺點:

  • 對於常常性網絡不太好。
  • 新體系結構不太好。

5. Keras

「人類的深度學習」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:Python。

Keras是一個用Python編寫的開源的神經網絡庫。

與TensorFlow、CNTK和Theano不一樣,Keras不是一個端到端的機器學習框架。

相反,它做爲一個接口,提供了一個高層次的抽象化,這使得不管它坐落在哪一個框架上,神經網絡的配置都會變得容易。

谷歌的TensorFlow目前支持Keras做爲後端,而微軟的CNTK也會在很短的時間內作到這一點。在這裏瞭解更多。

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 它是用戶友好的。
  • 它很容易擴展。
  • 在CPU和GPU上無縫運行。
  • 與Theano和TensorFlow無縫工做。

缺點:

  • 不能有效地用做獨立的框架。

6. Torch

「一個開源的機器學習庫」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C。

Torch是一個用於科學和數字操做的開源機器學習庫。

這是一個基於Lua編程語言而非Python的庫。

Torch經過提供大量的算法,使得深度學習研究更容易,而且提升了效率和速度。它有一個強大的N維數組,這有助於切片和索引等操做。它還提供了線性代數程序和神經網絡模型。點擊查看詳情!

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 很是靈活。
  • 高水平的速度和效率。
  • 大量的預訓練模型可用。

缺點:

  • 不清楚的文獻記錄。
  • 缺少即時使用的即插即用代碼。
  • 它基於一種不那麼流行的語言——Lua。

7. Accord.NET

「機器學習、計算機視覺、統計和.NET通用科學計算」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C#。

這是專爲C#程序員設計的。

Accord.NET框架是一個.NET機器學習框架,使音頻和圖像處理變得簡單。

這個框架能夠有效地處理數值優化、人工神經網絡,甚至可視化。除此以外,Accord.NET對計算機視覺和信號處理的功能很是強大,同時也使得算法的實現變得簡單。點擊查看詳情。

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 它有一個強大而積極的開發團隊。
  • 很是有據可查的框架。
  • 質量可視化。

缺點:

  • 不是一個很是流行的框架。
  • 比TensorFlow慢。

8. Spark MLlib

「可擴展的機器學習庫」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:Scala。

Apache的Spark MLlib是一個很是可擴展的機器學習庫。

它很是適用於諸如Java、Scala、Python,甚至R等語言。它很是高效,由於它能夠與Python庫和R庫中的numpy進行互操做。

MLlib能夠輕鬆插入到Hadoop工做流程中。它提供了機器學習算法,如分類、迴歸和聚類。

這個強大的庫在處理大型數據時很是快速。在網站上了解更多信息。

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 對於大規模數據處理很是快速。
  • 提供多種語言。

缺點:

  • 陡峭的學習曲線。
  • 即插即用僅適用於Hadoop。

9. Sci-kit Lear

「用Python的機器學習」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:Python。

Sci-kit learn是一個很是強大的機器學習Python庫,主要用於構建模型。

使用numpy、SciPy和matplotlib等其餘庫構建,對統計建模技術(如分類、迴歸和聚類)很是有效。

Sci-kit learn帶有監督學習算法、無監督學習算法和交叉驗證等功能。點擊查看詳情!

優勢:

  • 許多主要算法的可用性。
  • 有效的數據挖掘。

缺點:

  • 不是構建模型的最佳選擇。
  • GPU效率不高。

10. MLPack

「可擴展的C ++機器學習庫」

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

語言:C ++。

MLPack是一個用C ++實現的可擴展的機器學習庫。由於它是用C ++編寫的,因此你能夠猜想它對於內存管理是很是好的。

MLPack以極高的速度運行,由於高質量的機器學習算法與庫一塊兒出現。這個庫是對新手友好的,並提供了一個簡單的API使用。點擊查看詳情!

 

10個機器學習人工智能開發框架和AI庫(優缺點對比表)

 

優勢:

  • 很是可擴展。
  • Python和C ++綁定可用。

缺點:

  • 不是最好的文獻記錄。

總結

本文討論的庫很是有效,而且隨着時間的推移已經證實都是高質量的。像Facebook、谷歌、雅虎、蘋果和微軟這樣的大公司都利用其中的一些庫來進行深度學習和機器學習項目,那麼你爲何不呢?

你能想到你常用的但並不在這個列表中的其餘庫嗎?請在評論區留言與咱們分享!

本文原做者:Anton Shaleynikov

相關文章
相關標籤/搜索