TensorBoard затратные пики на распределении градиентов - PullRequest
0 голосов
/ 26 апреля 2018

Я тренирую собственную короткую сеть с Keras (2.1.6) и Tensorflow (1.4.0) в качестве бэкэнда. Во время тренировки я использую обратный вызов тензорной доски как:

tensorboard = keras.callbacks.TensorBoard(
    log_dir=OUTPUT_PATH,
    histogram_freq=EPOCH_STEPS,
    batch_size=BATCH_SIZE,
    write_grads=True)

Это дает ожидаемые результаты, но когда я смотрю на распределение градиентов на TensorBoard, я вижу странные вещи на графиках, которые повторяются на том же шаге переменной histogram_freq.

Например, для histogram_freq=1 и слоя свертки с 1 ядром (1,1) распределения: enter image description here enter image description here

На обоих изображениях вы можете увидеть шипы с интервалом 1. В качестве дополнительной информации, обучаемая сеть работает с изображениями с разрешением 320x200, а на выходе получается полное изображение 320x200, которое сравнивается с его меткой (сегментация). Может проблема в том?

1 Ответ

0 голосов
/ 27 апреля 2018

Дикая догадка, но похоже, что градиенты сходят с ума в начале каждой эпохи, так что, может быть, вы случайно запускаете tf.global_variables_initializer() в начале каждой эпохи?

Распределения веса показывают ту же картину?

...