tensorflow Обнаружено более одного графического события за прогон

Я загружаю тензорную доску для моего эксперимента с движком ml, который работает в локальном режиме, и получил следующее предупреждение:

"Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events.  Overwriting the graph with the newest event.
W0825 19:26:12.435613 Reloader event_accumulator.py:311] Found more than one metagraph event per run. Overwriting the metagraph with the newest event."

Первоначально я подозревал, что это произошло из-за того, что я не очистил свой --logdir=$OUTPUT_PATH (как предлагалось в других сообщениях, однако, даже если я выполнил rm -rf $OUTPUT_PATH/*, я все еще получаю эту ошибку для местного поезда. Может ли эта ошибка указывать на более серьезную проблему в моем график?


person reese0106    schedule 25.08.2017    source источник


Ответы (1)


Похоже, вы уже встречали этот пост, но без дополнительной информации он лучшая информация, которую я могу предоставить:

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

Вы можете непреднамеренно записать несколько файлов событий в один и тот же каталог (например, training и eval?).

Кроме того, убедитесь, что вы возвращаете соответствующий tf.estimator.EstimatorSpec в modes.EVAL. Из выборки переписи :

if mode == Modes.EVAL:
  labels_one_hot = tf.one_hot(
      label_indices_vector,
      depth=label_values.shape[0],
      on_value=True,
      off_value=False,
      dtype=tf.bool
  )
  eval_metric_ops = {
      'accuracy': tf.metrics.accuracy(label_indices, predicted_indices),
      'auroc': tf.metrics.auc(labels_one_hot, probabilities)
  }
  return tf.estimator.EstimatorSpec(
      mode, loss=loss, eval_metric_ops=eval_metric_ops)
person rhaertel80    schedule 30.08.2017
comment
Я думаю, что это, безусловно, возможно. Я пишу скаляры как в Modes.EVAL, так и в Modes.TRAIN, а скаляры в Modes.EVAL никогда не отображаются в тензорной доске. Наверное, я думал, что всегда было два файла событий (eval/event и train/event), но теперь я думаю, что это не так просто. Есть ли способ написать скаляры для train/eval в одном и том же model_fn, чтобы они не генерировали несколько файлов событий в одном каталоге? - person reese0106; 31.08.2017
comment
Что вы устанавливаете в качестве своего model_dir (например, run_config=tf.contrib.learn.RunConfig(model_dir=args.job_dir))? Можете ли вы предоставить список каталогов этого model_dir? - person rhaertel80; 31.08.2017
comment
Обновлен пост с информацией об EstimatorSpec. Это помогает? - person rhaertel80; 31.08.2017
comment
Очевидно, что я должен писать несколько файлов событий, но я не совсем уверен, как это происходит. Я удаляю args.job_dir каждый раз с помощью «rm -rf $JOB_DIR», а затем я все еще получаю эту ошибку, когда начинаю новый запуск. Вот список каталогов этого каталога model_dir.. $ ls output checkpoint events.out.tfevents.1504204297.Users-MacBook-Pro.local graph.pbtxt model.ckpt-1.data-00000-of-00001 model.ckpt-1.index model.ckpt-1.meta и, насколько я могу судить, есть только один файл событий, но предупреждение tensorboard все еще кричит на меня? - person reese0106; 31.08.2017
comment
Однако теперь есть еще один подкаталог eval, который содержит другой файл событий, но предупреждение появлялось еще до того, как это произошло. - person reese0106; 31.08.2017
comment
Теперь, когда есть eval, все работает правильно? Если вы явно не установите model_dir, мне интересно, собираются ли сводки в какой-то каталог по умолчанию, который вы не очищаете все время. - person rhaertel80; 31.08.2017
comment
Я указал run_config, как вы описали tf.contrib.learn.RunConfig(model_dir=args.job_dir -- Теперь, когда есть eval, я получил несколько дополнительных предупреждений: WARNING:tensorflow:Deleting accumulator 'eval' WARNING:tensorflow:Deleting accumulator '.' WARNING:tensorflow:Found more than one graph event per run, or there was a metagraph containing a graph_def, as well as one or more graph events. Overwriting the graph with the newest event. WARNING:tensorflow:Found more than one metagraph event per run. Overwriting the metagraph with the newest event. - person reese0106; 31.08.2017