Commit 14de04d8 authored by 赵威's avatar 赵威

update model

parent 70e96a9b
import json
import timeit import timeit
import json
import tensorflow as tf import tensorflow as tf
from tensorflow import feature_column as fc from tensorflow import feature_column as fc
from tensorflow.python.estimator.canned import head as head_lib from tensorflow.python.estimator.canned import head as head_lib
...@@ -58,21 +58,20 @@ def esmm_model_fn(features, labels, mode, params): ...@@ -58,21 +58,20 @@ def esmm_model_fn(features, labels, mode, params):
ctcvr_loss = tf.reduce_sum(tf.compat.v1.losses.log_loss(labels=cvr_labels, predictions=ctcvr_preds)) ctcvr_loss = tf.reduce_sum(tf.compat.v1.losses.log_loss(labels=cvr_labels, predictions=ctcvr_preds))
loss = ctr_loss + ctcvr_loss loss = ctr_loss + ctcvr_loss
ctr_accuracy = tf.compat.v1.metrics.accuracy(labels=ctr_labels, predictions=tf.to_float(tf.greater_equal(ctr_preds, 0.5)))
ctcvr_accuracy = tf.compat.v1.metrics.accuracy(labels=cvr_labels,
predictions=tf.to_float(tf.greater_equal(ctcvr_preds, 0.5)))
ctr_auc = tf.compat.v1.metrics.auc(labels=ctr_labels, predictions=ctr_preds)
ctcvr_auc = tf.compat.v1.metrics.auc(labels=cvr_labels, predictions=ctcvr_preds)
metrics = {"ctcvr_accuracy": ctcvr_accuracy, "ctr_accuracy": ctr_accuracy, "ctr_auc": ctr_auc, "ctcvr_auc": ctcvr_auc}
tf.compat.v1.summary.scalar("ctr_accuracy", ctr_accuracy[1])
tf.compat.v1.summary.scalar("ctcvr_accuracy", ctcvr_accuracy[1])
tf.compat.v1.summary.scalar("ctr_auc", ctr_auc[1])
tf.compat.v1.summary.scalar("ctcvr_auc", ctcvr_auc[1])
if mode == tf.estimator.ModeKeys.EVAL: if mode == tf.estimator.ModeKeys.EVAL:
ctr_accuracy = tf.compat.v1.metrics.accuracy(labels=ctr_labels,
predictions=tf.to_float(tf.greater_equal(ctr_preds, 0.5)))
ctcvr_accuracy = tf.compat.v1.metrics.accuracy(labels=cvr_labels,
predictions=tf.to_float(tf.greater_equal(ctcvr_preds, 0.5)))
ctr_auc = tf.compat.v1.metrics.auc(labels=ctr_labels, predictions=ctr_preds)
ctcvr_auc = tf.compat.v1.metrics.auc(labels=cvr_labels, predictions=ctcvr_preds)
metrics = {"ctcvr_accuracy": ctcvr_accuracy, "ctr_accuracy": ctr_accuracy, "ctr_auc": ctr_auc, "ctcvr_auc": ctcvr_auc}
tf.compat.v1.summary.scalar("ctr_accuracy", ctr_accuracy[1])
tf.compat.v1.summary.scalar("ctcvr_accuracy", ctcvr_accuracy[1])
tf.compat.v1.summary.scalar("ctr_auc", ctr_auc[1])
tf.compat.v1.summary.scalar("ctcvr_auc", ctcvr_auc[1])
return tf.estimator.EstimatorSpec(mode, loss=loss, eval_metric_ops=metrics) return tf.estimator.EstimatorSpec(mode, loss=loss, eval_metric_ops=metrics)
train_op = optimizer.minimize(loss, global_step=tf.compat.v1.train.get_global_step()) train_op = optimizer.minimize(loss, global_step=tf.compat.v1.train.get_global_step())
res = tf.estimator.EstimatorSpec(mode, loss=loss, train_op=train_op) res = tf.estimator.EstimatorSpec(mode, loss=loss, train_op=train_op, eval_metric_ops=metrics)
return res return res
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment