def write_summaries(self, X, y, label, step, summary_writer=None):
if not X:
return
y_pred, loss = self.predict_proba_with_loss(X, y)
metrics = classification_metrics(y, y_pred, self.threshold)
metrics['loss'] = loss
if summary_writer is not None:
summary = tf.Summary()
for key, value in metrics.items():
summary.value.add(tag="metrics/{}".format(key), simple_value=float(value))
if not self.summary_tensors:
self.summary_tensors["positive_predictions_input"] = tf.placeholder(
tf.float32, [None], "positive_predictions_input")
self.summary_tensors["positive_predictions"] = tf.summary.histogram(
"positive_predictions", self.summary_tensors["positive_predictions_input"])
self.summary_tensors["negative_predictions_input"] = tf.placeholder(
tf.float32, [None], "negative_predictions_input")
self.summary_tensors["negative_predictions"] = tf.summary.histogram(
"negative_predictions", self.summary_tensors["negative_predictions_input"])
summary_writer.add_summary(
self.summary_tensors["positive_predictions"].eval(
feed_dict={self.summary_tensors["positive_predictions_input"]: y_pred[y]}),
step)
summary_writer.add_summary(
self.summary_tensors["negative_predictions"].eval(
feed_dict={self.summary_tensors["negative_predictions_input"]: y_pred[~y]}),
step)
summary_writer.add_summary(summary, step)
summary_writer.flush()
评论列表
文章目录