TF01-02:使用Tensorboard可視化圖

本主題的內(nèi)容

  1. 使用Tensorboard
  2. 理解圖
  3. 掌握graph與scalar可視化

一蒋失、圖可視化

1.產(chǎn)生圖數(shù)據(jù)

  • 圖在代碼中描述好后躁锁,在執(zhí)行會話環(huán)境中會自動存儲,可以世界使用Session的屬性graph獲取,Session只有個屬性:graph與graph_ref,sess_str挖息,Session的屬性代碼:
      class SessionInterface(object):
        """Base class for implementations of TensorFlow client sessions."""
    
        @property
        def graph(self):
          """The underlying TensorFlow graph, to be used in building Operations."""
          raise NotImplementedError('graph')
      
        @property
        def sess_str(self):
          """The TensorFlow process to which this session will connect."""
          raise NotImplementedError('sess_str')
    
  • 可視化數(shù)據(jù)保存由tf.summary.FileWriter類實現(xiàn),其構(gòu)造器聲明如下:
    __init__(
        logdir,        #存放數(shù)據(jù)的目錄
        graph=None,    #需要存儲的圖對象數(shù)據(jù)
        max_queue=10,
        flush_secs=120,
        graph_def=None,
        filename_suffix=None,
        session=None
    )
    
  • 圖數(shù)據(jù)獲取實現(xiàn)代碼如下
      #coding=utf-8
      import numpy as np
      import tensorflow as tf
    
      #1.描述圖
      m1=np.random.uniform(0,1,(4,3))
      m2=np.random.uniform(0,1,(3,2))
      r=tf.matmul(m1,m2)
    
      #2.圖執(zhí)行
      session=tf.Session()
    
      #創(chuàng)建一個圖數(shù)據(jù)IO寫入器
      writer=tf.summary.FileWriter("./graph",graph=session.graph)
      
      init_op= tf.global_variables_initializer()
      session.run(init_op)
      re=session.run(r)
      print(re)
    
      #關(guān)閉圖寫入器
      writer.close()
    
  • 產(chǎn)生的圖數(shù)據(jù)結(jié)果
    Graph保存后的文件

2.啟動可視化

  • 使用Tensorboard工具創(chuàng)建一個web應(yīng)用服務(wù)系宜,然后使用瀏覽器就可以得到可視化的圖結(jié)構(gòu)骑丸。

    • Tensorboard在Tensorflow安裝的時候會一起安裝。
    • Tensorboard使一個命令行工具恭取,使用格式如下:

      > tensorboard --logdir=Graph數(shù)據(jù)存放目錄

  • 可視化啟動例子:

    啟動圖可視化web應(yīng)用服務(wù)
  • 使用瀏覽器訪問

    注意:端口是6006泰偿,URL是:http://127.0.0.1:6006/


    使用瀏覽器訪問圖可視化服務(wù)
  • 可視化圖元素說明

    可視化元素說明
  • 可視化數(shù)據(jù)
    Tensorboard的數(shù)據(jù)類型有很多

    可視化數(shù)據(jù)類型

    常用的有:scalars,distributions蜈垮,histograms

  • 可視化刷新設(shè)置

    設(shè)置刷新頻率與分頁限制

二耗跛、數(shù)據(jù)標(biāo)量可視化

1. 確定標(biāo)量數(shù)據(jù)

  #1.scalar數(shù)據(jù)
  rd1=tf.Variable(tf.random_uniform([],-1.0,1.0))
  tf.summary.scalar("rd1",rd1)
  rd2=tf.Variable(tf.random_uniform([],-1.0,1.0))
  tf.summary.scalar("rd2",rd2)

??【注意】其中使用隨機函數(shù)產(chǎn)生隨機數(shù),其中只能使用標(biāo)量攒发,所以tf.random\_uniform函數(shù)的第一個shape參數(shù)設(shè)置為[]调塌,表示標(biāo)量。如果使用向量惠猿,運行參數(shù)肯定不匹配羔砾。

2. 合并標(biāo)量數(shù)據(jù)

  #2.數(shù)據(jù)合并
  me=tf.summary.merge_all()

3. 計算標(biāo)量數(shù)據(jù)

  #3.計算合并數(shù)據(jù)
  data= session.run(me)

4. 存儲標(biāo)量數(shù)據(jù)

  #
  #4.合并數(shù)據(jù)用IO寫入文件
  writer.add_summary(data,i)

5. 完整代碼

  #coding=utf-8
  import numpy as np
  import tensorflow as tf

  #1.scalar數(shù)據(jù)
  rd1=tf.Variable(tf.random_uniform([],-1.0,1.0))
  tf.summary.scalar("rd1",rd1)
  rd2=tf.Variable(tf.random_uniform([],-1.0,1.0))
  tf.summary.scalar("rd2",rd2)

  #2.數(shù)據(jù)合并
  me=tf.summary.merge_all()

  #2.圖執(zhí)行
  session=tf.Session()
  #創(chuàng)建一個圖數(shù)據(jù)IO寫入器
  writer=tf.summary.FileWriter("./scalar",graph=session.graph)
  init_op= tf.global_variables_initializer()
  session.run(init_op)

  #寫100個隨機變量
  for i in range(100):
      #3.計算合并數(shù)據(jù)
      data= session.run(me)
      #4.合并數(shù)據(jù)用IO寫入文件
      writer.add_summary(data,i)

  #關(guān)閉圖寫入器
  writer.close()

6. 可視化效果

  • 使用tensorboard工具,啟動web app服務(wù)后偶妖,可以看到如下可視化效果姜凄。
    標(biāo)量數(shù)據(jù)可視化結(jié)果

更多復(fù)雜的情況,可以參考后面神經(jīng)網(wǎng)絡(luò)中更為復(fù)雜的實現(xiàn)趾访。

【資源】

代碼列表:

  1. t02_graph.py
  2. t02_scalar.py
    文件下載:【 下載
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末态秧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腹缩,更是在濱河造成了極大的恐慌屿聋,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藏鹊,死亡現(xiàn)場離奇詭異润讥,居然都是意外死亡,警方通過查閱死者的電腦和手機盘寡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門楚殿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事脆粥∑瞿纾” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵变隔,是天一觀的道長规伐。 經(jīng)常有香客問我,道長匣缘,這世上最難降的妖魔是什么猖闪? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮肌厨,結(jié)果婚禮上培慌,老公的妹妹穿的比我還像新娘。我一直安慰自己柑爸,他們只是感情好吵护,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著表鳍,像睡著了一般馅而。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上譬圣,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天用爪,我揣著相機與錄音,去河邊找鬼胁镐。 笑死,一個胖子當(dāng)著我的面吹牛诸衔,可吹牛的內(nèi)容都是我干的盯漂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼笨农,長吁一口氣:“原來是場噩夢啊……” “哼就缆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谒亦,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤竭宰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后份招,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體切揭,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年锁摔,在試婚紗的時候發(fā)現(xiàn)自己被綠了廓旬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡谐腰,死狀恐怖孕豹,靈堂內(nèi)的尸體忽然破棺而出涩盾,到底是詐尸還是另有隱情,我是刑警寧澤励背,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布春霍,位于F島的核電站,受9級特大地震影響叶眉,放射性物質(zhì)發(fā)生泄漏址儒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一竟闪、第九天 我趴在偏房一處隱蔽的房頂上張望离福。 院中可真熱鬧,春花似錦炼蛤、人聲如沸妖爷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽絮识。三九已至,卻和暖如春嗽上,著一層夾襖步出監(jiān)牢的瞬間次舌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工兽愤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留彼念,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓浅萧,卻偏偏與公主長得像逐沙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洼畅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

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

  • 簡單線性回歸 import tensorflow as tf import numpy # 創(chuàng)造數(shù)據(jù) x_dat...
    CAICAI0閱讀 3,542評論 0 49
  • 這篇文章是針對有tensorflow基礎(chǔ)但是記不住復(fù)雜變量函數(shù)的讀者吩案,文章列舉了從輸入變量到前向傳播,反向優(yōu)化帝簇,數(shù)...
    horsetif閱讀 1,162評論 0 1
  • 與 TensorFlow 的初次相遇 https://jorditorres.org/wp-content/upl...
    布客飛龍閱讀 3,938評論 2 89
  • 1.昨天下了一夜的雨徘郭,卻也沒下多少。早晨起來去上班外面還飄著一些細細絲絲的雨丧肴,衣服穿的厚所以不覺得冷残揉,雨只落到臉上...
    夾心影子閱讀 210評論 0 3
  • 周四上午冲甘,我們六年級師生一起走進影院觀看了這部炙手可熱的大片――《摔跤吧,爸爸》。出發(fā)之前簡單了解這部電...
    張毛麗閱讀 717評論 0 1