TensorFlow 简介
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/
- 中文社區(qū):http://www.tensorfly.cn/
TensorFlow 是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫。TensorFlow 最初由Google大腦小組(隸屬于Google機(jī)器智能研究機(jī)構(gòu))的研究員和工程師們開發(fā)出來,用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,但這個(gè)系統(tǒng)的通用性使其也可廣泛用于其他計(jì)算領(lǐng)域。它是谷歌基于DistBelief進(jìn)行研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng)。2015年11月9日,Google發(fā)布人工智能系統(tǒng)TensorFlow并宣布開源。
其命名來源于本身的原理,Tensor(張量)意味著N維數(shù)組,Flow(流)意味著基于數(shù)據(jù)流圖的計(jì)算。Tensorflow運(yùn)行過程就是張量從圖的一端流動到另一端的計(jì)算過程。張量從圖中流過的直觀圖像是其取名為“TensorFlow”的原因。
TensorFlow的關(guān)鍵點(diǎn)是:“Data Flow Graphs”,表示TensorFlow是一種基于圖的計(jì)算框架,其中節(jié)點(diǎn)(Nodes)在圖中表示數(shù)學(xué)操作,線(Edges)則表示在節(jié)點(diǎn)間相互聯(lián)系的多維數(shù)據(jù)數(shù)組,即張量(Tensor),這種基于流的架構(gòu)讓TensorFlow具有非常高的靈活性,該靈活性也讓TensorFlow框架可以在多個(gè)平臺上進(jìn)行計(jì)算,例如:臺式計(jì)算機(jī)、服務(wù)器、移動設(shè)備等。
備注:TensorFlow的開發(fā)過程中,重點(diǎn)在于構(gòu)建執(zhí)行流圖。
核心概念:數(shù)據(jù)流圖
數(shù)據(jù)流圖用“結(jié)點(diǎn)”(nodes)和“線”(edges)的有向圖來描述數(shù)學(xué)計(jì)算。
“節(jié)點(diǎn)” 一般用來表示施加的數(shù)學(xué)操作,但也可以表示數(shù)據(jù)輸入(feed in)的起點(diǎn)/輸出(push out)的終點(diǎn),或者是讀取/寫入持久變量(persistent variable)的終點(diǎn)。
“線”表示“節(jié)點(diǎn)”之間的輸入/輸出關(guān)系。這些數(shù)據(jù)“線”可以輸運(yùn)“size可動態(tài)調(diào)整”的多維數(shù)據(jù)數(shù)組,即“張量”(tensor)。
張量從圖中流過的直觀圖像是這個(gè)工具取名為“Tensorflow”的原因。一旦輸入端的所有張量準(zhǔn)備好,節(jié)點(diǎn)將被分配到各種計(jì)算設(shè)備完成異步并行地執(zhí)行運(yùn)算。
圖中包含:輸入(input)、塑形(reshape)、ReLu層(ReLu Layer)、Logit層(Logit Layer)、Softmax、交叉熵(cross entropy)、梯度(gradient)、SGD訓(xùn)練(SGD Trainer)等部分,是一個(gè)簡單的回歸模型
TensorFlow特性
- 高度的靈活性:只要能夠?qū)⒂?jì)算表示成為一個(gè)數(shù)據(jù)流圖,那么就可以使用TensorFlow。
- 可移植性:TensorFlow支持CPU和GPU的運(yùn)算,并且可以運(yùn)行在臺式機(jī)、服務(wù)器、手機(jī)移動端設(shè)備等等。
- 自動求微分:TensorFlow內(nèi)部實(shí)現(xiàn)了自動對于各種給定目標(biāo)函數(shù)求導(dǎo)的方式。
- 多種語言支持:Python、C++
- 性能高度優(yōu)化
官網(wǎng)直觀案例
看這個(gè)圖不就是個(gè)神經(jīng)網(wǎng)絡(luò)嘛,所以才會用這種框架啊。?
輸入x1 x2就是一個(gè)個(gè)特征 中間的癮層 輸出層都可以自己添加節(jié)點(diǎn),可以自己去試著玩一玩。
為什么選擇Tensorflow
?
?
Tensorflow安裝
- 要求:Python必須是64位
- 根據(jù)TensorFlow的計(jì)算方式,TensorFlow的安裝分為CPU版本和GPU版本
- 對于Python3.5或者Python3.6,可以使用pip install tensorflow(安裝CPU版本)和pip install tensorflow-gpu(安裝GPU版本)
- 對于Python2.7,只能通過源碼編譯來安裝TensorFlow(Windows操作系統(tǒng))
- 備注:TensorFlow-GPU要求機(jī)器的顯卡必須是NVidia的顯卡。
在安裝GPU版本的時(shí)候,可以先通過 pip install tensorflow-gpu==1.9.0 安裝,然后通過 import tensorflow as tf 導(dǎo)入,因?yàn)檫€沒有安裝 CUDA和CuDNN,會報(bào)需要安裝的 CUDA的版本,然后再去安裝對應(yīng)版本的 CUDA,CuDNN選擇CUDA的對應(yīng)版本。
TensorFlow CPU版本安裝:
環(huán)境:Python 3.6
安裝命令:pip install tensorflow==你自己的版本號
TensorFlow GPU版本安裝:
環(huán)境:Python 3.6、NVIDIA顯卡
安裝過程:
- 安裝CUDA SDK(默認(rèn)會將bin文件夾添加到PATH環(huán)境變量中,即安裝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版本根據(jù)導(dǎo)入tensorflow時(shí)提示的異常來選擇;即先安裝tensorflow-gpu,然后在python的命令行執(zhí)行:import tensorflow,會出現(xiàn)如下異常,則表示我們需要安裝的是CUDA 8.0版本,至于cuDNN選擇和CUDA對應(yīng)版本即可。
TensorFlow-GPU安裝-cuDNN
除了安裝CUDA外,還需要安裝對應(yīng)版本的cuDNN,將cuDNN的壓縮包解壓,然后將壓縮包中的三個(gè)文件夾全部放到CUDA對應(yīng)的根目錄下,根據(jù)環(huán)境變量找到對應(yīng)的根目錄:C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v8.0;
?
總結(jié)
以上是生活随笔為你收集整理的TensorFlow 简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端之 HTML
- 下一篇: 相册制作软件--4月精选婚纱相册模板{H