機器學(xué)習(xí)入門Pre——TF-Boys的Tensorflow入門

跟著我左手右手一個慢動作~~耶呃~~來左邊跟我一起畫條龍,來右邊跟我一起畫道彩虹。

TensorFlow

正經(jīng)點不和大家開玩笑,Tensorflow對于入門機器學(xué)習(xí)的同學(xué)們來說一定如雷貫耳牙咏。Tensorflow作為谷歌爸爸的開源機器學(xué)習(xí)框架,強大咱就不多說了嘹裂,它在搭建各種機器學(xué)習(xí)模型方面都很方便妄壶,可謂不可不學(xué)。

TaensorFlow的安裝

本教程目前只介紹Windows平臺下的安裝教程(主要是只會Window寄狼,我太菜了)盯拱,直接按照下面操作:

pip install tensorflow
或者
pip install tensorflow-gpu

然后到你的Idle中看一看,下面代碼是否運行成功

import tensorflow as tf

1例嘱、張量的基本運算操作

import tensorflow as tf
sess=tf.InteractiveSession()#交互窗口下的會話狡逢,否則直接Session
x=tf.constant([[1,3,5,7],[6,8,9,1],[7,5,6,4],[3,1,4,2]],dtype=tf.float32)
#用constant方法創(chuàng)建張量,可以指定數(shù)據(jù)類型
floatx=tf.constant([[1,3,5,7],[6,8,9,1],[7,5,6,4],[3,1,4,2]],dtype=tf.float32)
tf.transpose(x).eval()#求張量的轉(zhuǎn)置
#eval方法將張量轉(zhuǎn)化為Numpy的數(shù)組
>>>array([[1, 6, 7, 3],
       [3, 8, 5, 1],
       [5, 9, 6, 4],
       [7, 1, 4, 2]])
tf.matmul(x,x).eval()#張量的乘法
>>>array([[ 75,  59,  90,  44],
       [120, 128, 160,  88],
       [ 91,  95, 132,  86],
       [ 43,  39,  56,  42]])
tf.matrix_determinant(floatx).eval()#注意這個時候輸入要是浮點型數(shù)據(jù),計算張量行列式
>>>559.99994
tf.matrix_inverse(floatx).eval()#張量的逆
>>>array([[-0.12857144, -0.09999999,  0.22857143,  0.04285716],
       [ 0.05714285,  0.09999999,  0.09285715, -0.43571427],
       [ 0.02142857,  0.09999999, -0.24642858,  0.36785716],
       [ 0.12142858, -0.1       ,  0.10357143, -0.08214287]],
      dtype=float32)#輸入也必須是浮點型拼卵,否則會報錯
tf.matrix_solve(floatx,tf.matmul(floatx,floatx)).eval()#求張量的解奢浑,已知一個張量和張量的積,求另一個張量
>>>array([[0.9999999, 3.0000007, 5.0000014, 7.000001 ],
       [6.       , 8.       , 9.       , 1.0000005],
       [7.       , 4.999999 , 5.999999 , 3.9999993],
       [3.0000002, 1.0000004, 4.0000005, 2.0000002]], dtype=float32)#解矩陣方程

2腋腮、約簡:是一種跨緯度的張量操作雀彼,計算結(jié)果比原張量縮減一個維度

import tensorflow as tf
sess=tf.InteractiveSession()
t=tf.constant([[1,2,3],[3,2,1],[8,7,9]])
tf.reduce_max(t,reduction_indices=1).eval()#求每一行的最大值
>>>array([3, 3, 9])
tf.reduce_min(t,reduction_indices=1).eval()#求最小
>>>array([1, 1, 7])
tf.reduce_mean(t,reduction_indices=1).eval()#求平均
>>>array([2, 2, 8])

3、張量分割:通過索引對重復(fù)索引元素進(jìn)行操作

import tensorflow as tf
sess=tf.InteractiveSession()
option=tf.constant([0,0,1,2,2])
t=tf.constant([[1,3,5,7],[2,4,6,8],[2,5,7,9],[1,5,6,4],[9,7,6,4]])
#[0,0,1,2,2]分別對應(yīng)從第一到第五行即寡;1徊哑,2兩行都是0,所以會對它倆進(jìn)行操作聪富,同理對4莺丑,5兩行
tf.segment_sum(t,option).eval()
>>>array([[ 3,  7, 11, 15],
       [ 2,  5,  7,  9],
       [10, 12, 12,  8]])#對1,2兩行上下求和墩蔓;對4梢莽,5兩行上下求和
tf.segment_max(t,option).eval()
>>>array([[2, 4, 6, 8],
       [2, 5, 7, 9],
       [9, 7, 6, 4]])#同理,求最大值
tf.segment_min(t,option).eval()
>>>array([[1, 3, 5, 7],
       [2, 5, 7, 9],
       [1, 5, 6, 4]])#同理求最小
tf.segment_mean(t,option).eval()
>>>array([[1, 3, 5, 7],
       [2, 5, 7, 9],
       [5, 6, 6, 4]])#同理求平均值

4奸披、序列:返回操作對應(yīng)元素的索引

t=tf.constant([[1,3,5,7],[2,4,6,8],[2,5,7,9],[1,5,6,4],[9,7,6,4]])
tf.arg_max(t,0).eval()#第一個參數(shù)是張量昏名,第二個是軸;返回每一列最大值的索引
>>>array([4, 4, 2, 2], dtype=int64)
tf.arg_min(t,1).eval()#返回每一行最小值的索引
array([0, 0, 0, 0, 3], dtype=int64)

5阵面、張量形狀變換

t=tf.constant([[1,3,5,7],[2,4,6,8],[2,5,7,9],[1,5,6,4],[9,7,6,4]])
tf.shape(t).eval()#返回張量形狀
>>>array([5, 4])
tf.size(t).eval()#返回張量的大小
>>>20
tf.reshape(t,[5,4]).eval()#改變張量的形狀
>>>array([[1, 3, 5, 7],
       [2, 4, 6, 8],
       [2, 5, 7, 9],
       [1, 5, 6, 4],
       [9, 7, 6, 4]])

6轻局、張量切片(難點)

t=tf.constant([[1,3,5,7],[2,4,6,8],[2,5,7,9],[1,5,6,4],[9,7,6,4]])
tf.slice(t,[2,2],[2,2]).eval()
array([[7, 9],
       [6, 4]])

原理:第一個數(shù)組表示初始位置洪鸭,第二個表示截取的張量形狀;上面第一個[2,2]表示第三行第三列(數(shù)組索引從0開始)仑扑,7即為起始元素览爵;第二個數(shù)組[2,2]表示從起始元素開始算幾行幾列,[2,2]就表示兩行兩列夫壁,也就是[[7,9],[6,4]]

練習(xí)題

對數(shù)組[[1,3,5,7],[2,4,6,8],[2,5,7,9],[1,5,6,4],[9,7,6,4]]拾枣,tf.slice([1,2],[4,2])切片結(jié)果是多少沃疮?
答案:[[6,8],[7,9],[6,4],[6,4]]盒让,你做對了嗎?

以上就是TensorFlow最最基本的操作司蔬。有人可能就要問了邑茄,TensorBoard呢?Holder呢俊啼?哎肺缕,別急別急,等到用時授帕,結(jié)合實例學(xué)習(xí)豈不更好同木?


我要變強,我要變強跛十,一起變強吧
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末彤路,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芥映,更是在濱河造成了極大的恐慌洲尊,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奈偏,死亡現(xiàn)場離奇詭異坞嘀,居然都是意外死亡,警方通過查閱死者的電腦和手機惊来,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門丽涩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人裁蚁,你說我怎么就攤上這事内狸。” “怎么了厘擂?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵昆淡,是天一觀的道長。 經(jīng)常有香客問我刽严,道長昂灵,這世上最難降的妖魔是什么避凝? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮眨补,結(jié)果婚禮上管削,老公的妹妹穿的比我還像新娘。我一直安慰自己撑螺,他們只是感情好含思,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甘晤,像睡著了一般含潘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上线婚,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天遏弱,我揣著相機與錄音,去河邊找鬼塞弊。 笑死漱逸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的游沿。 我是一名探鬼主播饰抒,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诀黍!你這毒婦竟也來了袋坑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蔗草,失蹤者是張志新(化名)和其女友劉穎咒彤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咒精,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡镶柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了模叙。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歇拆。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖范咨,靈堂內(nèi)的尸體忽然破棺而出故觅,到底是詐尸還是另有隱情,我是刑警寧澤渠啊,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布输吏,位于F島的核電站,受9級特大地震影響替蛉,放射性物質(zhì)發(fā)生泄漏贯溅。R本人自食惡果不足惜拄氯,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望它浅。 院中可真熱鬧译柏,春花似錦、人聲如沸姐霍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镊折。三九已至胯府,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腌乡,已是汗流浹背盟劫。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工夜牡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留与纽,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓塘装,卻偏偏與公主長得像急迂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹦肴,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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