TF Girls 修煉指南學(xué)習(xí)筆記(1)

開始在B站上學(xué)習(xí)TensorFlow, 這個系列大概長這樣。

Screen Shot 2017-06-05 at 9.40.36 AM.png

這個repo提供了代碼,ppt,以及視屏的鏈接:
https://github.com/glossary95/TensorFlow-Tutorial

這篇筆記是1-3的內(nèi)容,這部分講了一點基本的小語法,作為正式開始機(jī)器學(xué)習(xí)之前的準(zhǔn)備。下面逐段講解該部分的代碼示例:

1.先引入幾個基本概念:

import tensorflow as tf

print('Load TV version',tf._version_)

#Tensor 在數(shù)學(xué)中是“張量”
#標(biāo)量,矢量\向量,張量

#簡單地理解
#標(biāo)量表示值
#矢量表示位置(空間中的一個點)
#張量表示整個空間

#一維數(shù)組是矢量
#多維數(shù)組是張量,矩陣也是張量

#4個重要的類型
#@Variable 計算圖譜中的變量
#@Tensor 一個多維矩陣,帶有很多方法
#@Graph 一個計算圖譜
#@Session 用來運(yùn)行一個計算圖譜

計算圖譜呢,官網(wǎng)提供的長這樣,先有一個粗略認(rèn)識:

Screen Shot 2017-06-02 at 9.02.08 AM.png

2. 三個重要的函數(shù): tf.func_name

#三個重要的函數(shù)

#Variable 變量 
#以下是變量這個類的constructor
#tf.Variable.__init__(
#    initial_value=None,@Tensor
#    traibale=True,
#    collections=None,
#    validate_shape=True,
#    caching_device=None,
#    name=None,
#    variable_def=None
#    dtype=None
#)
#注意: Variable 是一個Class,Tensor也是一個Class

#Constant 常數(shù)
# tf.constant(value,dtype=None,shape=None,name='Const')
# return : a constant @Tensor

#Placeholder 暫時變量?
#tf.placeholder(dtype,shape=None,name=None)
#return :一個還尚未存在的 @Tensor

注意: tf.constant和tf.placeholder返回的都是一個張量tensor
下面實現(xiàn)一個四則運(yùn)算的函數(shù) basic_operation():
變量 + 變量 = 張量(addv)
常量就是一個張量,常量 + 常量 = 張量
運(yùn)行session,初始化所有的 變量
張量.eval(session = my_session_name)與my_session_name.run(張量)等價。
在with tf.Session(graph=graph) as mySess:這個代碼塊里,該寫session=sess的地方,都可以省略,比如run(),比如eval()。因為這個塊里面,使用的就是mySess。

def basic_operation():
    v1 = tf.Variable(10)
    v2 = tf.Variable(5)
    addv = v1 + v2
    print(addv)
    print(type(addv))  //Tensor
    print(type(v1))    //Variable
    
    c1 = tf.constant(10)
    c2 = tf.constant(5)
    addc = c1 + c2
    print(addc)
    print(type(addc)) //Tensor
    print(type(c1))     //Tensor
    
    #用來運(yùn)行計算圖譜的對象\實例?
    #session is a runtime
    sess = tf.Session();
    
    #Variable ->初始化 ->有值的Tensor
    tf.initialize_all_varibales().run(session=sess)
    print('變量是需要初始化的')
    #以下兩行的作用是一樣的:在session下算出addv的值
    print('加法(v1,v2)=',addv.eval(session=sess))
    print('加法(v1,v2)=',sess.run(addv)) 
    print('加法(c1,c2)=',addc.eval(session=sess))
    
    #上面的一切,可以改寫成這樣:
    #有一個圖,里面有一些數(shù)據(jù),然后有一個針對這個圖的session
    #tf.Graph.__init__()
    #Creates a new empty Graph
    graph = tf.Graph()
    with graph.as_default():
        value1 = tf.constant([1,2])
        value2 = tf.Variable([3,4])
        mul = value1 * value2
        mul2 =  value1 / value2
        
    with tf.Session(graph=graph) as mySess:
        tf.initialize_all_variables().run()
        print('一一對應(yīng)乘法(value1,value2)=',mySess.run(mul))
        print('一一對應(yīng)乘法(value1,value2)=',mul.eval())
        print('一一對應(yīng)的除法(value1, value2) = ', mySess.run(mul2))
    print('一一對應(yīng)的除法(value1, value2) = ', mul2.eval())
    # tensor.eval(session=sess)
    # sess.run(tensor)

3. Placeholder很重要

  # 省內(nèi)存?placeholder才是王道
# def use_placeholder():
    graph = tf.Graph()
    with graph.as_default():
        value1 = tf.placeholder(dtype=tf.float64)
        value2 = tf.Variable([3, 4], dtype=tf.float64)
        mul = value1 * value2

    with tf.Session(graph=graph) as mySess:
        tf.initialize_all_variables().run()
        # 我們想象一下這個數(shù)據(jù)是從遠(yuǎn)程加載進(jìn)來的
        # 文件,網(wǎng)絡(luò)
        # 假裝是 10 GB
        value = load_from_remote()
        for partialValue in load_partial(value, 2):
            # runResult = mySess.run(mul, feed_dict={value1: partialValue})
            evalResult = mul.eval(feed_dict={value1: partialValue})
            print('乘法(value1, value2) = ', runResult)
        # cross validation

def load_from_remote():
    return [-x for x in range(1000)]


# 自定義的 Iterator
# yield, generator function
def load_partial(value, step):
    index = 0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,115評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,234評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,621評論 1 326
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,822評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,380評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,128評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,319評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,548評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,048評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,285評論 2 376

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

  • TF API數(shù)學(xué)計算tf...... :math(1)剛開始先給一個運(yùn)行實例。tf是基于圖(Graph)的計算系統(tǒng)...
    MachineLP閱讀 3,514評論 0 1
  • 簡單線性回歸 import tensorflow as tf import numpy # 創(chuàng)造數(shù)據(jù) x_dat...
    CAICAI0閱讀 3,559評論 0 49
  • 春夏秋冬輪回, 我在回憶里駐足, 以為我想,我等,就可以, 重新抓住你的影子。 想起你的臉龐, 洋溢微笑的眼角, ...
    章魚先生的領(lǐng)結(jié)閱讀 573評論 0 1
  • 小豆豆遇到了不開心的事,媽媽說:人生不如意之事十之八九。 媽媽猛然想起,這是自己小時候媽媽說過的話啊…… 姥姥總是...
    思百納閱讀 175評論 0 1
  • 優(yōu)點:1.人品好2.性格好3.有才華 1.人品好。坑人的事情 我不會做。上大學(xué)時,我對宿舍的同學(xué)都很友善,認(rèn)為吃虧...
    后知后覺的持續(xù)努力閱讀 149評論 0 0