【開(kāi)源推薦】快速入門 Google 機(jī)器學(xué)習(xí)系統(tǒng) TensorFlow
推薦:開(kāi)源軟件 機(jī)器學(xué)習(xí)系統(tǒng) TensorFlow
如今,領(lǐng)先的科技巨頭無(wú)不在機(jī)器學(xué)習(xí)下予以極大投入。
Facebook、蘋(píng)果、微軟,甚至國(guó)內(nèi)的百度。Google 自然也在其中。
Google 的 TensorFlow 是最流行的開(kāi)源 AI 庫(kù)之一。
它的高計(jì)算效率,豐富的開(kāi)發(fā)資源使它被企業(yè)和個(gè)人開(kāi)發(fā)者廣泛采用。
下面我首先將會(huì)對(duì) TensorFlow 的基本定義和主要特征進(jìn)行介紹。
授權(quán)協(xié)議:Apache-2.0
開(kāi)發(fā)語(yǔ)言:C++、Python
操作系統(tǒng):跨平臺(tái)
開(kāi)發(fā)廠商:Google
Github: https://github.com/tensorflow/tensorflow
TensorFlow 介紹
TensorFlow 是一個(gè)采用數(shù)據(jù)流圖,用于數(shù)值計(jì)算的開(kāi)源軟件庫(kù)。
TensorFlow 最初由Google 大腦小組(隸屬于 Google 機(jī)器智能研究機(jī)構(gòu))的研究員和工程師們開(kāi)發(fā)出來(lái),用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)方面的研究,但這個(gè)系統(tǒng)的通用性使其也可廣泛用于其他計(jì)算領(lǐng)域。
什么是數(shù)據(jù)流圖?

數(shù)據(jù)流圖用“結(jié)點(diǎn)”(nodes)和“線”(edges)的有向圖來(lái)描述數(shù)學(xué)計(jì)算。
“節(jié)點(diǎn)” 一般用來(lái)表示施加的數(shù)學(xué)操作,但也可以表示數(shù)據(jù)輸入(feed in)的起點(diǎn)/輸出(push out)的終點(diǎn),或者是讀取/寫(xiě)入持久變量(persistent variable)的終點(diǎn)。
“線”表示“節(jié)點(diǎn)”之間的輸入/輸出關(guān)系。這些數(shù)據(jù)“線”可以輸運(yùn)“size可動(dòng)態(tài)調(diào)整”的多維數(shù)據(jù)數(shù)組,即“張量”(tensor)。
張量從圖中流過(guò)的直觀圖像是這個(gè)工具取名為“Tensorflow”的原因。
一旦輸入端的所有張量準(zhǔn)備好,節(jié)點(diǎn)將被分配到各種計(jì)算設(shè)備完成異步并行地執(zhí)行運(yùn)算。
TensorFlow 的特征
● 高度的靈活性:只要你可以將你的計(jì)算表示為一個(gè)數(shù)據(jù)流圖,你就可以使用Tensorflow
● 真正的可移植性
● 將科研和產(chǎn)品聯(lián)系在一起:使用Tensorflow可以讓?xiě)?yīng)用型研究者將想法迅速運(yùn)用到產(chǎn)品中,也可以讓學(xué)術(shù)性研究者更直接地彼此分享代碼,從而提高科研產(chǎn)出率。
● 自動(dòng)求微分:你只需要定義預(yù)測(cè)模型的結(jié)構(gòu),將這個(gè)結(jié)構(gòu)和目標(biāo)函數(shù)(objective function)結(jié)合在一起,并添加數(shù)據(jù),Tensorflow將自動(dòng)為你計(jì)算相關(guān)的微分導(dǎo)數(shù)。
● 多語(yǔ)言支持
● 性能最優(yōu)化:可以自由地將Tensorflow圖中的計(jì)算元素分配到不同設(shè)備上,Tensorflow可以管理這些不同副本
基本使用
使用 TensorFlow, 你必須明白 TensorFlow:
● 使用圖 (graph) 來(lái)表示計(jì)算任務(wù).
● 在被稱之為會(huì)話 (Session) 的上下文 (context) 中執(zhí)行圖.
● 使用 tensor 表示數(shù)據(jù).
● 通過(guò) 變量 (Variable) 維護(hù)狀態(tài).
● 使用 feed 和 fetch 可以為任意的操作(arbitrary operation) 賦值或者從其中獲取數(shù)據(jù).基本使用
轉(zhuǎn)自:開(kāi)源最前線
