閱讀本文以了解更多關於TensorFlow的知識,並了解如何在項目中使用它。
TensorFlow教程
目的:在今天的TensorFlow教程中,我們將學習什麼是TensorFlow,它在哪裡使用,它的不同特性,TensorFlow應用程式,最新版本及其優缺點,以及如何在項目中使用它。
TensorFlow教程|什麼是TensorFlow
TensorFlow的歷史
DistBelief是TensorFlow在升級之前被調用的,它是在2011年作為一個基於深度學習神經網絡的專有系統構建的。DistBelief的原始碼經過修改,被做成了一個更好的基於應用程式的庫,2015年,它被稱為tensorflow。
TensorFlow是什麼?
TensorFlow是一個強大的面向數據流的機器學習庫,由谷歌的Brain Team創建,於2015年開源。它被設計成易於使用和廣泛應用於數字和神經網絡的問題以及其他領域。
本質上,TensorFlow是一個用於處理複雜數學問題的低級工具包,它針對的是那些知道自己在做什麼的研究人員,以構建實驗學習體系結構,並將其轉化為運行中的軟體。
它可以被認為是一個編程系統,在這個系統中,你將計算表示為圖形。圖中的節點表示數學運算,邊緣表示它們之間通信的多維數據數組(張量)。
最新版本
TensorFlow的最新版本是1.7.0,可以在tensorflow.org上找到。它的設計理念是深度學習,但它適用於更廣泛的問題。
關於張量
現在,顧名思義,它提供了在張量上定義函數並自動計算其導數的原語。
張量是一種高維數組,用於計算機編程,以數字的形式表示大量的數據。在網際網路上還有其他n - d數組庫,就像Numpy一樣,但TensorFlow是獨立的,因為它提供了創建張量函數並自動計算導數的方法。
TensorFlow教程
其他的用途
您可以在其上構建其他的機器學習算法,比如決策樹或k近鄰。下面是一個由TensorFlow組成的生態系統:
TensorFlow生態系統。
從上面的描述可以看出,TensorFlow可集成性良好,具有包括GPU處理、python和Cpp在內的依賴關係,您也可以使用它與docker等容器軟體集成。
TensorBoard
TensorBoard是一套可視化工具,是TensorFlow的一種簡單解決方案,它由創建者提供,允許您可視化圖形,並使用其他數據(如圖像)來繪製圖形的定量度量。
操作
TensorFlow在各種平臺上運行,安裝是linux作業系統,安裝很簡單。它可以使用pip或conda環境進行安裝。這些應用程式不僅支持深度學習,還支持其他形式的機器學習,比如強化學習。強化學習把你帶入目標導向的任務中,比如贏得視頻遊戲,或者幫助機器人在不平衡的環境中行走。
TensorFlow應用程式
有無數的機器學習的應用和TensorFlow允許您去探索他們中的大多數包括情緒分析,谷歌翻譯,文本摘要和,圖像識別,它被世界各地的大公司,包括Airbnb,eBay,Dropbox,Snapchat,Twitter,Uber,SAP、高通、IBM、英特爾、當然,谷歌、Facebook、Instagram,亞馬遜用於各種目的。
TensorFlow特性
TensorGlow具有用於Matlab和c++的api,並且具有廣泛的語言支持。隨著時間的推移,研究人員正在努力讓它變得更好,最近,在最新的TensorFlow峰會上,TensorFlow.js是一個用於培訓和部署機器學習模型的javascript庫,並且在tensorflow官網上可以使用一個開源瀏覽器集成平臺,在那裡您可以看到在修改超參數時發生的實時變化。
TensorFlow優勢
TensorFlow有一個響應性結構,您可以很容易地將圖形的每個部分可視化。平臺的靈活性,這意味著它是模塊化的,有些部分可以獨立而其他人合併。它可以在CPU和GPU上輕鬆地進行分布式計算。它具有自動分化功能,它可以利用基於梯度的機器學習算法,也就是說,你可以通過對其他值來計算值的導數,從而得出圖表擴展的結果。它支持線程、異步計算和隊列。它是可定製的和開放源碼的。TensorFlow局限性
如果在相同的範圍內導入GPU內存,則會與Theano發生衝突。
不支持OpenCL
需要有高級微積分和線性代數知識以及對機器學習的了解。
結論
TensorFlow是一個很好的庫,可以在創建深度學習網絡時對數據進行數值和圖形計算,是谷歌Search、谷歌Translate Translate、谷歌Photos等應用最廣泛的庫。人們使用機器學習做了許多令人驚嘆的事情,其中包括與醫療保健相關的應用、電影推薦引擎、音樂、個性化廣告和社交媒體情緒挖掘等。隨著機器學習和人工智慧的進步讓人難以置信,TensorFlow是幫助實現這些目標的工具。