外頭有許多類(lèi)型的python庫(kù)可用,本文介紹了一些流行的機(jī)器學(xué)習(xí)庫(kù)。
1. NumPy:
NumPy是一種通用的數(shù)組處理軟件包。它提供高性能的多維數(shù)組對(duì)象和用于處理這些數(shù)組的工具。它是用于科學(xué)計(jì)算的基本Python軟件包。
NumPy針對(duì)Python的CPython參考實(shí)現(xiàn),這是一種非優(yōu)化的字節(jié)碼解釋器。
NumPy的核心功能是“ndarray”,代表n維數(shù)組數(shù)據(jù)結(jié)構(gòu)。這些數(shù)組是內(nèi)存中的交錯(cuò)視圖。相比Python的內(nèi)置列表數(shù)據(jù)結(jié)構(gòu),這些數(shù)組是同構(gòu)類(lèi)型的:?jiǎn)蝹€(gè)數(shù)組的所有元素都必須是同一類(lèi)型。
2. Scipy:
SciPy是一種免費(fèi)開(kāi)源Python庫(kù),用于科學(xué)計(jì)算和技術(shù)計(jì)算。
它包含用于優(yōu)化、線(xiàn)性代數(shù)、積分、插值、特殊函數(shù)、FFT、信號(hào)及圖像處理、ODE求解器以及科學(xué)工程中其他常見(jiàn)任務(wù)的模塊。
NumPy堆棧有時(shí)也叫SciPy堆棧。SciPy使用的基本數(shù)據(jù)結(jié)構(gòu)是NumPy模塊提供的多維數(shù)組。NumPy提供了一些用于線(xiàn)性代數(shù)、傅立葉變換和隨機(jī)數(shù)生成的函數(shù),但不具有SciPy中的等效函數(shù)具有的一般性。
3. Scikit-learn:
Scikit-learn(又名sklearn)是面向Python編程語(yǔ)言的免費(fèi)軟件機(jī)器學(xué)習(xí)庫(kù)。
它有各種分類(lèi)、回歸和聚類(lèi)算法,包括支持向量機(jī)、隨機(jī)森林、梯度提升、k均值和DBSCAN,旨在與Python數(shù)值庫(kù)NumPy和科學(xué)庫(kù)SciPy協(xié)同操作。
Scikit-learn項(xiàng)目始于David Cournapeau開(kāi)發(fā)的谷歌編程夏令營(yíng)(Summer of Code)項(xiàng)目“SciKit”(SciPy Toolkit)。
它是GitHub上最受歡迎的機(jī)器學(xué)習(xí)庫(kù)之一。
它主要用Python編寫(xiě),廣泛地使用NumPy,用于高性能線(xiàn)性代數(shù)和數(shù)組運(yùn)算。
4. Tensorflow:
TensorFlow是一種免費(fèi)開(kāi)源軟件庫(kù),用于針對(duì)各種任務(wù)的數(shù)據(jù)流和可微分編程。
TensorFlow是谷歌Brain的第二代系統(tǒng)。參考實(shí)現(xiàn)在單個(gè)設(shè)備上運(yùn)行,但TensorFlow可以在多個(gè)CPU和GPU上運(yùn)行。TensorFlow可在64位的Linux、macOS、Windows和移動(dòng)計(jì)算平臺(tái)(包括Android和iOS)上使用。
Tensor處理單元(TPU):2016年5月谷歌宣布Tensor處理單元,這種針對(duì)特定應(yīng)用的集成電路專(zhuān)門(mén)為機(jī)器學(xué)習(xí)而構(gòu)建,為T(mén)ensorFlow量身定制。TPU是一種可編程的AI加速器,旨在提供高吞吐量的低精度算術(shù)運(yùn)算,面向使用或運(yùn)行模型,而不是訓(xùn)練模型。
5. Pytorch:
PyTorch是一種基于Torch庫(kù)的開(kāi)源機(jī)器學(xué)習(xí)庫(kù),用于計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理等應(yīng)用,主要由Facebook的AI研究實(shí)驗(yàn)室開(kāi)發(fā)。
它有更完善的Python接口,主要側(cè)重于開(kāi)發(fā),它還有C++接口。
幾款深度學(xué)習(xí)軟件是在PyTorch上構(gòu)建的,包括優(yōu)步的Pyro、HuggingFace的Transformers和Catalyst。
它提供兩種高級(jí)功能:通過(guò)GPU實(shí)現(xiàn)擁有強(qiáng)大加速功能的Tensor計(jì)算,建立在基于磁帶的自動(dòng)微分系統(tǒng)上的深度神經(jīng)網(wǎng)絡(luò)(DNN)。
它定義了一個(gè)名為T(mén)ensor的類(lèi)來(lái)存儲(chǔ)和操作數(shù)字的異構(gòu)多維矩形陣列。PyTorch張量類(lèi)似NumPy數(shù)組,但也可以在支持CUDA功能的英偉達(dá)GPU上加以處理。
6. Keras:
Keras是一種用Python編寫(xiě)的開(kāi)源神經(jīng)網(wǎng)絡(luò)庫(kù)。它能夠在TensorFlow、Microsoft Cognitive Toolkit、R、Theano或PlaidML上運(yùn)行。
Keras致力于易于使用、模塊化和可擴(kuò)展。
Fran?ois Chollet(谷歌工程師兼Keras的維護(hù)者)解釋?zhuān)琄eras被認(rèn)為是一種接口,而不是一種獨(dú)立的機(jī)器學(xué)習(xí)框架。它提供了更高級(jí)、更直觀的抽象集,無(wú)論使用哪種計(jì)算后端,用戶(hù)都可以輕松開(kāi)發(fā)深度學(xué)習(xí)模型。
Keras含有常用神經(jīng)網(wǎng)絡(luò)構(gòu)建模塊的眾多實(shí)現(xiàn),比如層、目標(biāo)、激活函數(shù)、優(yōu)化器以及許多工具,這些工具使圖像和文本數(shù)據(jù)處理起來(lái)更容易,從而簡(jiǎn)化編寫(xiě)深度神經(jīng)網(wǎng)絡(luò)代碼所需的編程工作。
Keras支持卷積和循環(huán)神經(jīng)網(wǎng)絡(luò)。它支持其他常見(jiàn)的實(shí)用層,比如隨機(jī)失活、批量歸一化和池化。Keras讓用戶(hù)可以把深度模型用在智能手機(jī)、Web或Java虛擬機(jī)上。
編輯:lyn
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8307瀏覽量
131887 -
python
+關(guān)注
關(guān)注
53文章
4753瀏覽量
84098 -
pytorch
+關(guān)注
關(guān)注
2文章
795瀏覽量
13015
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論