當前位置:
首頁 > 科技 > 10個非常有用的人工智慧開源工具/框架

10個非常有用的人工智慧開源工具/框架

以下是針對當今熱門話題AI的10個開源工具/框架。

TensorFlow

一個用於機器智能的開源軟體庫。

TensorFlow是一個開源軟體庫,最初由研究Google Brain Team的研究人員和工程師開發。TensorFlow用於使用數據流圖進行數值計算。圖中的節點表示數學運算,而圖表邊表示在它們之間傳遞的多維數據陣列(張量)。靈活的體系結構允許您使用單個API將計算部署到桌面,伺服器或移動設備中的一個或多個CPU或GPU。

TensorFlow提供多個API。最低級別的API - TensorFlow Core - 為您提供完整的編程式控制制。更高級別的API構建在TensorFlow Core之上。與TensorFlow Core相比,這些更高級別的API通常更易於學習和使用。此外,更高級別的API使重複性任務更容易,並且在不同用戶之間更加一致。像tf.estimator這樣的高級API可以幫助您管理數據集,估算器,培訓和推理。

TensorFlow中的中央數據單位是張量。張量由一組原始值組成,這些原始值被整形為任意數量維度的數組。張量的等級是它的維數。

初始圖像分類模型:基準模型和對高精度計算機視覺模型的後續研究,從贏得2014年Imagenet圖像分類挑戰的模型開始

SmartReply:深度LSTM模型,可自動生成電子郵件回復

用於藥物發現的大規模多任務網路:一種深度神經網路模型,用於識別谷歌與斯坦福大學合作的有希望的候選藥物。

用於OCR的設備上計算機視覺:用於進行光學字元識別以實現實時翻譯的設備上計算機視覺模型

SystemML

使用大數據進行機器學習的最佳工作場所。

SystemML是IBM創建的機器學習技術,已經達到了Apache Software Foundation的頂級項目狀態之一,它是一個靈活,可擴展的機器學習系統。重要特徵是:

通過R-like和類似Python的語言可以定製演算法。

多種執行模式,包括Spark MLContext,Spark Batch,Hadoop Batch,Standalone和JMLC(Java機器學習連接器)。

基於數據和集群特徵的自動優化,以確保效率和可擴展性。

SystemML被認為是用於機器學習的SQL。SystemML的最新版本(1.0.0)支持:Java 8 +,Scala 2.11 +,Python 2.7 / 3.5 +,Hadoop 2.6+和Spark 2.1+。

它可以在Apache Spark之上運行,它可以自動逐行擴展數據,確定您的代碼是應該在驅動程序還是Apache Spark集群上運行。未來的SystemML開發包括利用GPU功能進行額外的深度學習,例如導入和運行神經網路架構以及用於訓練的預訓練模型。

SystemML的Java機器學習連接器(JMLC)

Java機器學習連接器(JMLC)API是一種編程介面,用於以嵌入方式與SystemML交互。JMLC的主要目的是作為評分API,其中您的評分函數使用SystemML的DML(聲明性機器學習)語言表示。除了評分之外,嵌入式SystemML還可用於在單個計算機上運行的較大應用程序的上下文中執行無人監督學習(例如,群集)等任務。

Caffe

深入學習框架,以表達,速度和模塊化為基礎。

Caffe項目由Yangqing Jia博士開設。在加州大學伯克利分校,然後由伯克利AI研究(BAIR)和社區貢獻者開發。它主要關注計算機視覺應用的卷積網路。Caffe是計算機視覺相關任務的堅實和受歡迎的選擇,您可以從Caffe模型動物園(下面的鏈接)下載Caffe用戶製作的許多成功模型,以便開箱即用。


Caffe的優點

富有表現力的建築鼓勵應用和創新。模型和優化由配置定義,無需硬編碼。通過設置單個標誌在GPU計算機上進行訓練,然後部署到商品群集或移動設備,在CPU和GPU之間切換。

可擴展代碼促進了積極的開發。在Caffe的第一年,它已被超過1,000名開發人員分享,並且有許多重大變化。

速度使Caffe成為研究實驗和行業部署的理想選擇。Caffe每天可以使用一個NVIDIA K40 GPU 處理超過60M的圖像。

社區:Caffe已經為視覺,語音和多媒體領域的學術研究項目,創業原型,甚至大規模的工業應用提供支持。

Apache Mahout

分散式線性代數框架和數學表達Scala DSL

Mahout旨在讓數學家,統計學家和數據科學家快速實施他們自己的演算法。Apache Spark是推薦的開箱即用的分散式後端,或者可以擴展到其他分散式後端。

數學上富有表現力的Scala DSL

支持多個分散式後端(包括Apache Spark)

用於CPU / GPU / CUDA加速的模塊化原生求解器

Apache Mahout目前實現了包括協作過濾(CF),聚類和分類在內的領域


功能/應用

品嘗CF. Taste是由Sean Owen在SourceForge上創建的CF(協同過濾)的開源項目,並於2008年捐贈給Mahout。

幾個Map-Reduce啟用的聚類實現包括k-Means,模糊k-Means,Canopy,Dirichlet和Mean-Shift。

分散式樸素貝葉斯和互補樸素貝葉斯分類實現。

用於進化編程的分散式適應度函數。

矩陣和矢量庫。

所有上述演算法的示例。

OpenNN

一個用C ++編寫的開源類庫,它實現了神經網路。

OpenNN(開放式神經網路圖書館)以前被稱為Flood,它基於博士學位。R. Lopez的論文,「工程中變分問題的神經網路」,加泰羅尼亞技術大學,2008年。

OpenNN將數據挖掘方法實現為一組函數。這些可以使用應用程序編程介面(API)嵌入到其他軟體工具中,用於軟體工具和預測分析任務之間的交互。OpenNN的主要優點是其高性能。它採用C ++開發,可實現更好的內存管理和更高的處理速度,並通過OpenMP和GPU加速與CUDA實現CPU並行化。

該軟體包附帶單元測試,許多示例和大量文檔。它為神經網路演算法和應用的研究和開發提供了有效的框架。Neural Designer是一個使用OpenNN的專業預測分析工具,這意味著Neural Designer的神經引擎是使用OpenNN構建的。

OpenNN旨在從數據集和數學模型中學習。


數據集

函數回歸。

模式識別。

時間序列預測。


數學模型

最佳控制。

最佳形狀設計。


數據集和數學模型

反問題。

Torch


Torch開源機器學習庫,科學計算框架和基於Lua編程語言的腳本語言。

強大的N維數組

索引,切片,轉置,...的許多常式

通過LuaJIT與C的驚人界面

線性代數常式

神經網路和基於能量的模型

數字優化常式

快速高效的GPU支持

可嵌入,具有iOS和Android後端的埠

Torch由Facebook AI Research Group,IBM,Yandex和Idiap Research Institute使用。它已被擴展用於Android和iOS,並已用於構建數據流的硬體實現,如神經網路中的數據流。

Facebook已經發布了一組擴展模塊作為開源軟體。

PyTorch是一個用於Python的開源機器學習庫,用於自然語言處理等應用程序。它主要由Facebook的人工智慧研究小組開發,用於概率編程的優步「Pyro」軟體就是基於它構建的。

Neuroph

Neuroph,用Java編寫的面向對象的神經網路框架。

Neuroph可用於在Java程序中創建和訓練神經網路。Neuroph提供Java類庫以及用於創建和訓練神經網路的GUI工具easyNeurons。Neuroph是輕量級Java神經網路框架,用於開發通用的神經網路架構。它包含一個設計良好的開源Java庫,其中包含少量與基本NN概念相對應的基本類。它還具有很好的GUI神經網路編輯器,可以快速創建Java神經網路組件。它已在Apache 2.0許可下作為開源發布。

Neuroph的核心類對應於基本的神經網路概念,如人工神經元,神經元層,神經元連接,權重,傳遞函數,輸入函數,學習規則等.Neuroph支持常見的神經網路架構,如具有反向傳播的多層感知器,Kohonen和Hopfield網路。所有這些類都可以擴展和定製,以創建自定義神經網路和學習規則。Neuroph內置支持圖像識別。

Deeplearning4j

為Java和Scala編寫的第一個商業級,開源,分散式深度學習庫。

Deeplearning4j旨在成為最先進的即插即用和更多的約定而不是配置,這允許非研究人員進行快速原型設計。

DL4J可以大規模定製。

DL4J可以通過Keras從大多數主要框架導入神經網路模型,包括TensorFlow,Caffe和Theano,通過跨數據科學家,數據工程師和DevOps的跨團隊工具包彌合Python生態系統和JVM之間的差距。Keras被用作Deeplearning4j的Python API。

使用Skymind的模型伺服器在生產中提供機器學習模型。


特徵

分散式CPU和GPU

Java,Scala和Python API

適用於微服務架構

通過迭代減少的並行訓練

在Hadoop上可擴展

GPU支持在AWS上進行擴展


庫:

Deeplearning4J:神經網路平台

ND4J:JVM的Numpy

DataVec:機器學習ETL操作的工具

JavaCPP:Java和Native C ++之間的橋樑

仲裁者:機器學習演算法的評估工具

RL4J:JVM的深度強化學習

Mycroft


Mycroft,聲稱是世界上第一個開源助手,可用於從科學項目到企業軟體應用程序的任何事物。

Mycroft可以在任何地方運行 - 在台式計算機上,汽車內或Raspberry Pi上。這是一個開源軟體,可以自由重新混合,擴展和改進。Mycroft可用於從科學項目到企業軟體應用程序的任何事物。

OpenCog

OpenCog是一個旨在構建開源人工智慧框架的項目

OpenCog是一種多樣化的認知演算法集合,每一種都體現了他們自己的創新 - 但是整體架構的強大之處在於它嚴格遵守認知協同原理。OpenCog最初是基於2008年發布的Novamente LLC專有「Novamente認知引擎」(NCE)的源代碼。原始的NCE代碼在PLN書中討論(參見下文)。正在進行的OpenCog開發得到了人工智慧通用研究所(AGIRI),Google Summer of Code項目等的支持。

一個圖形資料庫,它將術語,原子公式,句子和關係保存為超圖; 給他們一個概率真值解釋,稱為AtomSpace。

一種可滿足的模理論解算器,作為通用圖形查詢引擎的一部分構建,用於執行圖形和超圖形模式匹配(同構子圖發現)。

基於概率邏輯網路(PLN)的概率推理引擎的實現。

一種稱為Meta-Optimizing Semantic Evolutionary Search(MOSES)的概率遺傳程序進化器,最初由Moshe Looks開發,現在已在Google工作。

基於經濟理論的注意力分配系統,ECAN。

用於在虛擬世界中進行交互和學習的實施例系統,部分地基於OpenPsi和Unity。

由Link Grammar和RelEx組成的自然語言輸入系統,兩者都採用類似AtomSpace的語義和句法關係表示。

一種名為SegSim的自然語言生成系統,具有NLGen和NLGen2的實現。

用於處理情緒狀態,驅動力和衝動的Psi-Theory的實現,被稱為OpenPsi。

與Hanson Robotics機器人的介面,包括通過OpenPsi進行情感建模。

原文標題《10 Open-Source Tools/Frameworks for Artificial Intelligence》

作者:Somanath Veettil

譯者:February


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲加社區 的精彩文章:

全網獨家首發:小程序·雲開發課程免費開放!
小程序·雲開發體驗:簡單幾步快速開發小程序

TAG:雲加社區 |