什么是tensorflow?tensorflow與哪些python包關(guān)系密切
Tensorflow在機(jī)器學(xué)習(xí)的時(shí)代背景下應(yīng)運(yùn)而生,對(duì)于tensorflow,計(jì)算機(jī)專(zhuān)業(yè)學(xué)生或多或少均有所了解。機(jī)器學(xué)習(xí)過(guò)程中,tensorflow是常被使用框架之一。為增進(jìn)大家對(duì)tensorflow的認(rèn)識(shí),本文將為大家介紹何為tensorflow,并對(duì)tensorflow常用的python包加以講述。如果你對(duì)本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。
一、何為T(mén)ensorFlow
任何曾經(jīng)試圖在 Python 中只利用 NumPy 編寫(xiě)神經(jīng)網(wǎng)絡(luò)代碼的人都知道那是多么麻煩。編寫(xiě)一個(gè)簡(jiǎn)單的一層前饋網(wǎng)絡(luò)的代碼尚且需要 40 多行代碼,當(dāng)增加層數(shù)時(shí),編寫(xiě)代碼將會(huì)更加困難,執(zhí)行時(shí)間也會(huì)更長(zhǎng)。
TensorFlow 使這一切變得更加簡(jiǎn)單快捷,從而縮短了想法到部署之間的實(shí)現(xiàn)時(shí)間。TensorFlow 是由 Google Brain 團(tuán)隊(duì)為深度神經(jīng)網(wǎng)絡(luò)(DNN)開(kāi)發(fā)的功能強(qiáng)大的開(kāi)源軟件庫(kù),于 2015 年 11 月首次發(fā)布,在 Apache 2.x 協(xié)議許可下可用。截至今天,短短的兩年內(nèi),其 GitHub 庫(kù)大約 845 個(gè)貢獻(xiàn)者共提交超過(guò) 17000 次,這本身就是衡量 TensorFlow 流行度和性能的一個(gè)指標(biāo)。
下圖列出了當(dāng)前流行的深度學(xué)習(xí)框架,從中能夠清楚地看到 TensorFlow 的領(lǐng)先地位:
開(kāi)源深度學(xué)習(xí)庫(kù) TensorFlow 允許將深度神經(jīng)網(wǎng)絡(luò)的計(jì)算部署到任意數(shù)量的 CPU 或 GPU 的服務(wù)器、PC 或移動(dòng)設(shè)備上,且只利用一個(gè) TensorFlow API。你可能會(huì)問(wèn),還有很多其他的深度學(xué)習(xí)庫(kù),如 Torch、Theano、Caffe 和 MxNet,那 TensorFlow 與其他深度學(xué)習(xí)庫(kù)的區(qū)別在哪里呢?包括 TensorFlow 在內(nèi)的大多數(shù)深度學(xué)習(xí)庫(kù)能夠自動(dòng)求導(dǎo)、開(kāi)源、支持多種 CPU/GPU、擁有預(yù)訓(xùn)練模型,并支持常用的NN架構(gòu),如遞歸神經(jīng)網(wǎng)絡(luò)(RNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)和深度置信網(wǎng)絡(luò)(DBN)。
TensorFlow 則還有更多的特點(diǎn),如下:
· 支持所有流行語(yǔ)言,如 Python、C++、Java、R和Go。
· 可以在多種平臺(tái)上工作,甚至是移動(dòng)平臺(tái)和分布式平臺(tái)。
· 它受到所有云服務(wù)(AWS、Google和Azure)的支持。
· Keras——高級(jí)神經(jīng)網(wǎng)絡(luò) API,已經(jīng)與 TensorFlow 整合。
· 與 Torch/Theano 比較,TensorFlow 擁有更好的計(jì)算圖表可視化。
· 允許模型部署到工業(yè)生產(chǎn)中,并且容易使用。
· 有非常好的社區(qū)支持。
· TensorFlow 不僅僅是一個(gè)軟件庫(kù),它是一套包括 TensorFlow,TensorBoard 和 TensorServing 的軟件。
二、TensorFlow常用Python包
TensorFlow 能夠?qū)崿F(xiàn)大部分神經(jīng)網(wǎng)絡(luò)的功能。但是,這還是不夠的。對(duì)于預(yù)處理任務(wù)、序列化甚至繪圖任務(wù),還需要更多的 Python 包。
下面列出了一些常用的 Python 包:
· Numpy:這是用 Python 進(jìn)行科學(xué)計(jì)算的基礎(chǔ)包。它支持n維數(shù)組和矩陣的計(jì)算,還擁有大量的高級(jí)數(shù)學(xué)函數(shù)。這是 TensorFlow 所需的必要軟件包,因此,使用 pip install tensorflow 時(shí),如果尚未安裝 Numpy,它將被自動(dòng)安裝。
· Matplolib:這是 Python 2D 繪圖庫(kù)。使用它可以只用幾行代碼創(chuàng)建各類(lèi)圖,包括直方、條形圖、錯(cuò)誤圖、散點(diǎn)圖和功率譜等。它可以使用 pip 進(jìn)行安裝:
· OS:這包括在基本的 Python 安裝中。它提供了一種使用操作系統(tǒng)相關(guān)功能(如讀取、寫(xiě)入及更改文件和目錄)的簡(jiǎn)單便攜方式。
· Pandas:這提供了各種數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。使用 Pandas,您可以在內(nèi)存數(shù)據(jù)結(jié)構(gòu)和不同格式之間讀取和寫(xiě)入數(shù)據(jù)??梢宰x取 .csv 和文本文件??梢允褂?pip install 或 conda install 進(jìn)行安裝。
· Seaborn:這是一個(gè)建立在 Matplotlib 上的專(zhuān)門(mén)的統(tǒng)計(jì)數(shù)據(jù)可視化工具。
· H5fs:H5fs 是能夠在 HDFS(分層數(shù)據(jù)格式文件系統(tǒng))上運(yùn)行的 Linux 文件系統(tǒng)(也包括其他帶有 FUSE 實(shí)現(xiàn)的操作系統(tǒng),如 macOS X)。
· TFlearn:TFlearn 是一個(gè)建立在 TensorFlow 之上的模塊化和透明的深度學(xué)習(xí)庫(kù)。它為 TensorFlow 提供更高級(jí)別的 API,以促進(jìn)和加速實(shí)驗(yàn)。它目前支持最近的大多數(shù)深度學(xué)習(xí)模型,如卷積、LSTM、BatchNorm、BiRNN、PReLU、殘差網(wǎng)絡(luò)和生成網(wǎng)絡(luò)。它只適用于TensorFlow 1.0 或更高版本。請(qǐng)使用 pip install tflearn 安裝。
· Keras:Keras 也是神經(jīng)網(wǎng)絡(luò)的高級(jí) API,它使用 TensorFlow 作為其后端。它可以運(yùn)行在 Theano 和 CNTK 之上。添加圖層只需要一行代碼,非常用戶(hù)友好,可以使用 pip install keras 來(lái)安裝。
以上便是此次小編帶來(lái)的“tensorflow”相關(guān)內(nèi)容,通過(guò)本文,希望大家對(duì)tensorflow是什么以及tensorflow使用過(guò)程中常需的python包具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來(lái)更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!