TensorFlow的一些基本概念

最近學習TensorFlow框架的使用,總是覺得有點怪怪的扛施。在我先入為主的概念中鸿捧,TensorFlow就是一個工具包,提供API給我調(diào)用實現(xiàn)功能就行了疙渣。然而事實并不是如此匙奴。

TensorFlow中的各種概念,占位符妄荔、張量泼菌、會話、計算圖等等啦租。單單這些概念就搞得我頭大哗伯。所以覺得這個框架有點不一樣,除了記住使用方法外篷角,我覺得還是有必要理解這些概念焊刹。

TensorFlow

TensorFlow的概念很多資源都有詳細介紹。簡而言之就是張量流恳蹲,這個概念對于通常的API有點不一樣虐块,并不是簡單的運算,而是張量在計算圖中的結(jié)點上進行流轉(zhuǎn)流動嘉蕾。

張量

TensorFlow的概念就是張量在計算圖中的結(jié)點上進行流轉(zhuǎn)流動贺奠。張量就是數(shù)據(jù)。

TensorFlow中的所有流經(jīng)計算圖的數(shù)據(jù)都是張量错忱。張量的概念可以對比常量敞嗡、變量與向量。其中航背,零階張量表示標量(scalar)喉悴,代表一個數(shù);一階張量表示向量(vector)玖媚,代表一維數(shù)組箕肃;n階張量表示一個n維數(shù)組。

計算圖

一直說到計算圖今魔。計算圖到底是個什么東西勺像?
簡單來說障贸,就是結(jié)點關(guān)聯(lián)起來形成的圖就是計算圖,這個圖是一個有向無環(huán)圖吟宦。舉個例子:

import tensorflow as tf

X = tf.constant(5)
Y = tf.constant(6)
Z = X * Y
print(X)
print(Y)
print(Z)

運行代碼篮洁,發(fā)現(xiàn)打印出來的結(jié)果并不是5、6和30殃姓。而是

Tensor("Const:0", shape=(), dtype=int32)
Tensor("Const_1:0", shape=(), dtype=int32)
Tensor("mul:0", shape=(), dtype=int32)

可以看到袁波,XYZ都是Tensor類型,我們可以把它理解為計算圖中的結(jié)點蜗侈。XY分別是5篷牌、6兩個常量結(jié)點,而結(jié)點Z就是*這個運算操作踏幻。雖然 *看起來并不像是TensorFlow的操作枷颊,但實際上TensorFlow會重載這個操作符。而這個操作并不會運算5 * 6 = 30這樣的操作该面,而僅僅是生成一個運算關(guān)系的結(jié)點夭苗。
言歸正傳,經(jīng)過定義XY結(jié)點隔缀,再通過Z結(jié)點關(guān)聯(lián)听诸,這樣就有了一張真正的計算圖。盡管這個圖很簡單蚕泽。

會話

通過前面例子發(fā)現(xiàn)Z并不是執(zhí)行的結(jié)果,而只是一個結(jié)點桥嗤。整個計算圖并沒有計算须妻,會話中才是真正執(zhí)行。
會話的作用是處理內(nèi)存分配和優(yōu)化泛领,使我們能夠?qū)嶋H執(zhí)行由計算圖指定的計算荒吏。會話包含一個指向全局圖的指針,該指針通過指向所有節(jié)點的指針不斷更新渊鞋。
當執(zhí)行如下代碼時:

with tf.Session() as sess:
    print(sess.run([Z, X, Y]))

打印結(jié)果如下:

[30, 5, 6]

個人理解圖的定義有點類似編程绰更,然后會話是執(zhí)行程序。沒有運行或被調(diào)用的方法自然不會執(zhí)行锡宋,也就不會產(chǎn)生結(jié)果儡湾。而TensorFlow中的layer則可以類比編程中的模塊或者是類。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末执俩,一起剝皮案震驚了整個濱河市徐钠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌役首,老刑警劉巖尝丐,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件显拜,死亡現(xiàn)場離奇詭異,居然都是意外死亡爹袁,警方通過查閱死者的電腦和手機远荠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來失息,“玉大人譬淳,你說我怎么就攤上這事「保” “怎么了瘦赫?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蛤迎。 經(jīng)常有香客問我确虱,道長,這世上最難降的妖魔是什么替裆? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任校辩,我火速辦了婚禮,結(jié)果婚禮上辆童,老公的妹妹穿的比我還像新娘宜咒。我一直安慰自己,他們只是感情好把鉴,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布故黑。 她就那樣靜靜地躺著,像睡著了一般庭砍。 火紅的嫁衣襯著肌膚如雪场晶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天怠缸,我揣著相機與錄音诗轻,去河邊找鬼。 笑死揭北,一個胖子當著我的面吹牛扳炬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搔体,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼恨樟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了疚俱?” 一聲冷哼從身側(cè)響起厌杜,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后夯尽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞧壮,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年匙握,在試婚紗的時候發(fā)現(xiàn)自己被綠了咆槽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡圈纺,死狀恐怖秦忿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛾娶,我是刑警寧澤灯谣,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蛔琅,受9級特大地震影響胎许,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罗售,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一辜窑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寨躁,春花似錦穆碎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至放钦,卻和暖如春色徘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背最筒。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蔚叨,地道東北人床蜘。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像蔑水,于是被迫代替她去往敵國和親邢锯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容