1. 程式人生 > >tensorflow中針對迭代產生資料和對列表資料不使用feed_dict進行tensorboard表示

tensorflow中針對迭代產生資料和對列表資料不使用feed_dict進行tensorboard表示

在tensorflow中存在一種情況,如果資料本身是通過迭代產生的,這時無法拿到資料集進行tensorboard顯示,這時可以先把計算的結果存到列表中,然後使用列表進行顯示操作。

程式碼如下:

import tensorflow as tf
import numpy as np

x = np.array([2*i*i + 3*i + 4 for i in range(-10, 15, 1)])
print(x)

loss = 0.0
#tf.summary模組的定義位於summary.py檔案中,該檔案中主要定義了在進行視覺化將要用到的各種函式
loss_summary = tf.Summary()
#呼叫tf.summary.Summary.Value子類
loss_summary.value.add(tag='loss', simple_value=loss)  #tag就是待會產生的圖示名稱

with tf.Session() as sess:
    #生成一個寫日誌的writer,將當前tensorflow計算圖寫入日誌。
    summary_writer1 = tf.summary.FileWriter("./train1", sess.graph)
    
    tf.global_variables_initializer().run()
    for i in range(len(x)):
        print(x[i])
        #固定用法,具體為什麼我也不懂
        loss_summary.value[0].simple_value = x[i]
        summary_writer1.add_summary(loss_summary, i)

因為以上程式碼並沒有呼叫資料集,因此不需要使用sess.run,而完全可以看成是簡單的函式呼叫操作。