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