2017-09-02 112 views
0

我正在使用Estimator來訓練我的網絡。我想用Tensorboard進行監控。博客爲估算要求的東西,如:在Tensorflow Estimator框架中沒有Tensorboard日誌記錄

"The training will output information like the global step, loss, 
and accuracy over time on the terminal output. Besides this, the 
Experiment and Estimator framework will log certain statistics to 
be visualized by TensorBoard." 

https://medium.com/onfido-tech/higher-level-apis-in-tensorflow-67bfb602e6c0

我的過程中確實創造和事件的文件,但什麼也沒有。

These tags are in checkpoints/1504359209.469093: 
audio - 
histograms - 
images - 
scalars - 
tensor - 

什麼控制哪些標量等估計器寫入,以及它多久寫入它們?

回答

1

首先,文檔在這一點上不是很清楚。 爲了避免寫一篇教程,這裏有幾點你可能會發現有幫助,雖然我應該說我不太清楚你的代碼是如何設置的。

  • 您不想創建FileWriter。相反,您只需將tf.summary.scalar和tf.name_scope註釋添加到您的model_fn。
  • 你不想從sess.run回傳任何東西。這是我的第一個猜測,我可以確認你可以保留你的Estimator並且不需要重組。
  • 您應該查看創建您的估算器的線(estimator.Estimator(model_fn = ...))。在這一行你指定了你的model_dir,這是你指向tensorboard的logdir參數的地方。 Estimators自動登錄到model_dir,它們不需要FileWriter。您可能已經知道這一點,因爲您可以看到事件輸出,但我提到它以防它發現我們正在做的事情之間存在某些不一致。
  • 你也應該看看你傳遞給你的估算器的RunConfig。我包含關鍵save_summary_steps,並且我認爲這控制了寫入發生的頻率。
0

謝謝。這非常有幫助。

我有,已經得到它使用默認的標量工作,但你的建議將允許我添加新的。

在我的情況下,問題在於數據輸入。我複製了使用DataSet的現有代碼。這裏是我的代碼

 # Build dataset iterator 
     dataset = tf.contrib.data.Dataset.from_tensor_slices(
     # dataset = tf.contrib.data.Dataset.from_tensors(
      (fingerprints_placeholder, labels_placeholder)) 
     #dataset = dataset.repeat(None) # Infinite iterations 
     #dataset = dataset.shuffle(buffer_size=10000) 
     dataset = dataset.batch(batch_size) 
     iterator = dataset.make_initializable_iterator() 

請注意註釋掉的行。出於某種原因,它們會導致代碼永遠無法運行。刪除它們可以讓所有的東西像廣告一樣工作。

相關問題