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