成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
    此為臨時鏈接,僅用于文章預覽,將在時失效
    人工智能開發者 正文
    發私信給AI研習社
    發送

    0

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    本文作者: AI研習社 2017-04-26 16:24
    導語:你會用 TensorBoard 么?

    雷鋒網按:本文作者 Jerry,原文載于作者個人博客,雷鋒網已獲授權。

      TensorBoard

    如何更直觀的觀察數據在神經網絡中的變化,或是已經構建的神經網絡的結構。上一篇文章說到,可以使用 matplotlib 第三方可視化,來進行一定程度上的可視化。然而Tensorflow也自帶了可視化模塊Tensorboard,并且能更直觀的看見整個神經網絡的結構。

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    上面的結構圖甚至可以展開,變成:

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

      使用

    結構圖:

    with tensorflow .name_scope(layer_name):  

    直接使用以上代碼生成一個帶可展開符號的一個域,并且支持嵌套操作:

    with tf.name_scope(layer_name):  

        with tf.name_scope('weights'):  

    節點一般是變量或常量,需要加一個“name=‘’”參數,才會展示和命名,如:

    with tf.name_scope('weights'):  

        Weights = tf.Variable(tf.random_normal([in_size,out_size]))  

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    結構圖符號及意義:

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    變量:

    變量則可使用Tensorflow.histogram_summary()方法:

    tf.histogram_summary(layer_name+"/weights",Weights) #name命名,Weights賦值  

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    常量:

    常量則可使用Tensorflow.scalar_summary()方法:

    tf.scalar_summary('loss',loss) #命名和賦值  

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    展示:

    最后需要整合和存儲SummaryWriter:

    #合并到Summary中  

    merged = tf.merge_all_summaries()  

    #選定可視化存儲目錄  

    writer = tf.train.SummaryWriter("/目錄",sess.graph)  

    merged也是需要run的,因此還需要:

    result = sess.run(merged) #merged也是需要run的  

        writer.add_summary(result,i)  

    執行:

    運行后,會在相應的目錄里生成一個文件,執行:

    tensorboard --logdir="/目錄"  

    會給出一段網址:

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    瀏覽器中打開這個網址即可,因為有兼容問題,firefox并不能很好的兼容,建議使用Chrome。

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    常量在Event中,結構圖在Graphs中,變量在最后兩個Tag中。

      附項目代碼:

    具體項目承接上一篇文章

    import tensorflow as tf  

    import numpy as np  

      

    def add_layer(inputs,in_size,out_size,n_layer,activation_function=None): #activation_function=None線性函數  

        layer_name="layer%s" % n_layer  

        with tf.name_scope(layer_name):  

            with tf.name_scope('weights'):  

                Weights = tf.Variable(tf.random_normal([in_size,out_size])) #Weight中都是隨機變量  

                tf.histogram_summary(layer_name+"/weights",Weights) #可視化觀看變量  

            with tf.name_scope('biases'):  

                biases = tf.Variable(tf.zeros([1,out_size])+0.1) #biases推薦初始值不為0  

                tf.histogram_summary(layer_name+"/biases",biases) #可視化觀看變量  

            with tf.name_scope('Wx_plus_b'):  

                Wx_plus_b = tf.matmul(inputs,Weights)+biases #inputs*Weight+biases  

                tf.histogram_summary(layer_name+"/Wx_plus_b",Wx_plus_b) #可視化觀看變量  

            if activation_function is None:  

                outputs = Wx_plus_b  

            else:  

                outputs = activation_function(Wx_plus_b)  

            tf.histogram_summary(layer_name+"/outputs",outputs) #可視化觀看變量  

            return outputs  

      

    #創建數據x_data,y_data  

    x_data = np.linspace(-1,1,300)[:,np.newaxis] #[-1,1]區間,300個單位,np.newaxis增加維度  

    noise = np.random.normal(0,0.05,x_data.shape) #噪點  

    y_data = np.square(x_data)-0.5+noise  

      

    with tf.name_scope('inputs'): #結構化  

        xs = tf.placeholder(tf.float32,[None,1],name='x_input')  

        ys = tf.placeholder(tf.float32,[None,1],name='y_input')  

      

    #三層神經,輸入層(1個神經元),隱藏層(10神經元),輸出層(1個神經元)  

    l1 = add_layer(xs,1,10,n_layer=1,activation_function=tf.nn.relu) #隱藏層  

    prediction = add_layer(l1,10,1,n_layer=2,activation_function=None) #輸出層  

      

    #predition值與y_data差別  

    with tf.name_scope('loss'):  

        loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1])) #square()平方,sum()求和,mean()平均值  

        tf.scalar_summary('loss',loss) #可視化觀看常量  

    with tf.name_scope('train'):  

        train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss) #0.1學習效率,minimize(loss)減小loss誤差  

      

    init = tf.initialize_all_variables()  

    sess = tf.Session()  

    #合并到Summary中  

    merged = tf.merge_all_summaries()  

    #選定可視化存儲目錄  

    writer = tf.train.SummaryWriter("Desktop/",sess.graph)  

    sess.run(init) #先執行init  

      

    #訓練1k次  

    for i in range(1000):  

        sess.run(train_step,feed_dict={xs:x_data,ys:y_data})  

        if i%50==0:  

            result = sess.run(merged,feed_dict={xs:x_data,ys:y_data}) #merged也是需要run的  

            writer.add_summary(result,i) #result是summary類型的,需要放入writer中,i步數(x軸) 


    了解完 TensorBoard 的詳細用法,你是否想了解 TensorFlow 的更多內容?

    近期,雷鋒網 AI 研習社有幸邀請到 ThoughtWorks 佟達、白發川兩位老師,他們將在 mooc.ai 平臺推出一個“Tensorflow & 神經網絡算法高級應用”系列培訓課程,感興趣的朋友千萬不可錯過!

    ThoughtWorks

    授課方 ThoughtWorks 是全球領先的 IT 咨詢公司,聯合國婦女兒童組織、世界衛生組織合作伙伴。總部在芝加哥,42 個辦公室分布在全球的 15 個國家。

    2012年,ThoughtWorks 排在 Google,Facebook 之前,被評為全球最難面試的公司。

    2016 年,ThoughtWorks 力壓群雄,獲得全球“最佳女性科技人員雇主”獎項。

    培訓課介紹

    從初級到高級,理論+實戰,一站式深度了解 TensorFlow!

    本課程面向深度學習開發者,講授如何利用 TensorFlow 解決圖像識別、文本分析等具體問題。課程跨度為 10 周,將從 TensorFlow 的原理與基礎實戰技巧開始,一步步教授學員如何在 TensorFlow 上搭建 CNN、自編碼、RNN、GAN 等模型,并最終掌握一整套基于 TensorFlow 做深度學習開發的專業技能。

    兩名授課老師佟達、白發川身為 ThoughtWorks 的資深技術專家,具有豐富的大數據平臺搭建、深度學習系統開發項目經驗。

    開課時間:每周二、四晚 20:00-21:00

    開課時長:總學時 20 小時,分 10 周完成,每周 2 次,每節課 1 小時。

    詳情地址:http://www.mooc.ai/course/82 

    直播授課進行中,歡迎加入!

    雷鋒網相關閱讀:

    萬事開頭難!入門TensorFlow,這9個問題TF Boys 必須要搞清楚

    一文詳解如何用 TensorFlow 實現基于 LSTM 的文本分類(附源碼)

    雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

    這才是 TensorFlow 自帶可視化工具 TensorBoard 的正確打開方式!(附項目源碼)

    分享:
    相關文章

    編輯

    聚焦數據科學,連接 AI 開發者。更多精彩內容,請訪問:yanxishe.com
    當月熱門文章
    最新文章
    請填寫申請人資料
    姓名
    電話
    郵箱
    微信號
    作品鏈接
    個人簡介
    為了您的賬戶安全,請驗證郵箱
    您的郵箱還未驗證,完成可獲20積分喲!
    請驗證您的郵箱
    立即驗證
    完善賬號信息
    您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
    立即設置 以后再說