Отключение записи в оценщике ТПУ - PullRequest
0 голосов
/ 23 апреля 2019

Я использую BERT run_classifier и тензор потока TPUEstimator, каждый раз, когда я тренирую свою модель или прогнозирую, используя прогнозатор оценки, я получаю слишком много информации журнала, напечатанной на моем экране.Как я могу избавиться от этой информации.Следующая строка напечатана миллион раз:

INFO:tensorflow:Dequeue next (1) batch(es) of data from outfeed.
I0423 15:45:17.093261 140624241985408 tpu_estimator.py:540] Dequeue next (1) batch(es) of data from outfeed.

Также следующая строка пишется на моем экране миллион раз (хотя проблем нет, и модель обучается с использованием TPU должным образом)

E0423 15:44:54.258747 140624241985408 tpu.py:330] Operation of type Placeholder (module_apply_tokens/bert/encoder/layer_6/attention/output/dense/kernel) is not supported on the TPU. Execution will fail if this op is used in the graph. 
ERROR:tensorflow:Operation of type Placeholder (module_apply_tokens/bert/encoder/layer_6/attention/output/dense/bias) is not supported on the TPU. Execution will fail if this op is used in the graph. 

Это код, который дает такое многословие:

from bert import run_classifier
estimator = tf.contrib.tpu.TPUEstimator(
  use_tpu=True,
  model_fn=model_fn,
  config=get_run_config(OUTPUT_DIR),
  train_batch_size=TRAIN_BATCH_SIZE,
  eval_batch_size=EVAL_BATCH_SIZE,
  predict_batch_size=PREDICT_BATCH_SIZE,
)

input_features = run_classifier.convert_examples_to_features(prediction_examples, label_list, MAX_SEQ_LENGTH, tokenizer)
predict_input_fn = run_classifier.input_fn_builder(features=input_features, seq_length=MAX_SEQ_LENGTH, is_training=False, drop_remainder=True)
predictions = estimator.predict(predict_input_fn)

Как я могу попросить модель не печатать их?

1 Ответ

1 голос
/ 27 апреля 2019

Вы должны быть в состоянии установить уровень детализации ведения журнала с помощью

tf.logging.set_verbosity(v)

в первой строке вашего main() метода, где уровень детализации v может быть:

_level_names = {
  FATAL: 'FATAL',
  ERROR: 'ERROR',
  WARN: 'WARN',
  INFO: 'INFO',
  DEBUG: 'DEBUG',
}

, где v=tf.logging.FATAL напечатает наименьшее количество журналов.

...