TensorFlow介紹
- Tagline:An open-source software library for Machine Intelligence.
- Definition:TensorFlow TM is an open source software library for
- numerical computation using data flow graphs.
- GitHub:https://github.com/tensorflow/tensorflow
- Website:https://tensorflow.org/ or https://tensorflow.google.cn/
- 中文社區:http://www.tensorfly.cn/
TensorFlow 是一個采用數據流圖(data flow graphs),用于數值計算的開源軟件庫。TensorFlow 最初由Google大腦小組(隸屬于Google機器智能研究機構)的研究員和工程師們開發出來,用于機器學習和深度神經網絡方面的研究,但這個系統的通用性使其也可廣泛用于其他計算領域。它是谷歌基于DistBelief進行研發的第二代人工智能學習系統。2015年11月9日,Google發布人工智能系統TensorFlow并宣布開源。
其命名來源于本身的原理,Tensor(張量)意味著N維數組,Flow(流)意味著基于數據流圖的計算。Tensorflow運行過程就是張量從圖的一端流動到另一端的計算過程。張量從圖中流過的直觀圖像是其取名為“TensorFlow”的原因。
TensorFlow的關鍵點是:“Data Flow Graphs”,表示TensorFlow是一種基于圖的計算框架,其中節點(Nodes)在圖中表示數學操作,線(Edges)則表示在節點間相互聯系的多維數據數組,即張量(Tensor),這種基于流的架構讓TensorFlow具有非常高的靈活性,該靈活性也讓TensorFlow框架可以在多個平臺上進行計算,例如:臺式計算機、服務器、移動設備等。
備注:TensorFlow的開發過程中,重點在于構建執行流圖。
核心概念:數據流圖
數據流圖用“結點”(nodes)和“線”(edges)的有向圖來描述數學計算。
“節點” 一般用來表示施加的數學操作,但也可以表示數據輸入(feed in)的起點/輸出(push out)的終點,或者是讀取/寫入持久變量(persistent variable)的終點。
“線”表示“節點”之間的輸入/輸出關系。這些數據“線”可以輸運“size可動態調整”的多維數據數組,即“張量”(tensor)。
張量從圖中流過的直觀圖像是這個工具取名為“Tensorflow”的原因。一旦輸入端的所有張量準備好,節點將被分配到各種計算設備完成異步并行地執行運算。
圖中包含:輸入(input)、塑形(reshape)、ReLu層(ReLu Layer)、Logit層(Logit Layer)、Softmax、交叉熵(cross entropy)、梯度(gradient)、SGD訓練(SGD Trainer)等部分,是一個簡單的回歸模型
TensorFlow特性
- 高度的靈活性:只要能夠將計算表示成為一個數據流圖,那么就可以使用TensorFlow。
- 可移植性:TensorFlow支持CPU和GPU的運算,并且可以運行在臺式機、服務器、手機移動端設備等等。
- 自動求微分:TensorFlow內部實現了自動對于各種給定目標函數求導的方式。
- 多種語言支持:Python、C++
- 性能高度優化
官網直觀案例
看這個圖不就是個神經網絡嘛,所以才會用這種框架啊。?
輸入x1 x2就是一個個特征 中間的癮層 輸出層都可以自己添加節點,可以自己去試著玩一玩。
為什么選擇Tensorflow
?
?
Tensorflow安裝
- 要求:Python必須是64位
- 根據TensorFlow的計算方式,TensorFlow的安裝分為CPU版本和GPU版本
- 對于Python3.5或者Python3.6,可以使用pip install tensorflow(安裝CPU版本)和pip install tensorflow-gpu(安裝GPU版本)
- 對于Python2.7,只能通過源碼編譯來安裝TensorFlow(Windows操作系統)
- 備注:TensorFlow-GPU要求機器的顯卡必須是NVidia的顯卡。
在安裝GPU版本的時候,可以先通過 pip install tensorflow-gpu==1.9.0 安裝,然后通過 import tensorflow as tf 導入,因為還沒有安裝 CUDA和CuDNN,會報需要安裝的 CUDA的版本,然后再去安裝對應版本的 CUDA,CuDNN選擇CUDA的對應版本。
TensorFlow CPU版本安裝:
環境:Python 3.6
安裝命令:pip install tensorflow==你自己的版本號
TensorFlow GPU版本安裝:
環境:Python 3.6、NVIDIA顯卡
安裝過程:
- 安裝CUDA SDK(默認會將bin文件夾添加到PATH環境變量中,即安裝CUDA和cuDNN)
- 安裝TensorFlow GPU,安裝命令:pip install tensorflow-gpu==你自己的版本
TensorFlow-GPU安裝-CUDA
CUDA下載安裝鏈接:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下載安裝鏈接:https://developer.nvidia.com/rdp/cudnn-archive
備注:具體的CUDA版本根據導入tensorflow時提示的異常來選擇;即先安裝tensorflow-gpu,然后在python的命令行執行:import tensorflow,會出現如下異常,則表示我們需要安裝的是CUDA 8.0版本,至于cuDNN選擇和CUDA對應版本即可。
TensorFlow-GPU安裝-cuDNN
除了安裝CUDA外,還需要安裝對應版本的cuDNN,將cuDNN的壓縮包解壓,然后將壓縮包中的三個文件夾全部放到CUDA對應的根目錄下,根據環境變量找到對應的根目錄:C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v8.0;