2017-02-21 67 views
6

我想我可能會遇到死亡Relus的問題,但我真的不知道如何使用tensorboard或任何其他方式檢查它。你的幫助將非常感激。如何監控死亡雷諾斯

+0

也許評估做一個(局部)RELU激活的神經元都直傳,檢查哪些是輸出爲零? – yuefengz

回答

2

我最初有同樣的問題,我自己也找不到答案,所以這裏是我如何與Tensorboard(這假定與Tensorboard熟悉)。

activation = tf.nn.relu(layer) 
active = tf.count_nonzero(tf.count_nonzero(activation, axis=0)) 
tf.summary.scalar('pct-active-neurons', active/layer.shape[1]) 

在這種剪斷,activation是我後RELU激活該特定層。對tf.count_nonzero(out, axis=0)的第一個呼叫是計算每個神經元在當前訓練步驟的所有訓練樣例中已經看到多少次激活。包含第一次調用的第二個調用tf.count_nonzero(...)計算該層中有多少個神經元對該步驟的一批訓練示例至少有一次激活。最後,我通過將訓練步驟中至少有一次激活的神經元數量除以該圖層的神經元總數,將其轉換爲百分比。

有關設置Tensorboard的更多信息,請參見here

0

如何將彙總 tf.summary.scalar('%s/fraction_of_zero_values' % tag, tf.nn.zero_fraction(value))