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