tf.contrib.training.create_train_op(
total_loss,
optimizer,
global_step=_USE_GLOBAL_STEP,
update_ops=None,
variables_to_train=None,
transform_grads_fn=None,
summarize_gradients=False,
gate_gradients=tf_optimizer.Optimizer.GATE_OP,
aggregation_method=None,
colocate_gradients_with_ops=False,
check_numerics=True
)
Defined in tensorflow/contrib/training/python/training/training.py
.
Creates an Operation
that evaluates the gradients and returns the loss.
Args:
total_loss
: ATensor
representing the total loss.optimizer
: A tf.Optimizer to use for computing the gradients.global_step
: ATensor
representing the global step variable. If left as_USE_GLOBAL_STEP
, then tf.contrib.framework.global_step() is used.update_ops
: An optional list of updates to execute. Ifupdate_ops
isNone
, then the update ops are set to the contents of thetf.GraphKeys.UPDATE_OPS
collection. Ifupdate_ops
is notNone
, but it doesn't contain all of the update ops intf.GraphKeys.UPDATE_OPS
, a warning will be displayed.variables_to_train
: an optional list of variables to train. If None, it will default to all tf.trainable_variables().transform_grads_fn
: A function which takes a single argument, a list of gradient to variable pairs (tuples), performs any requested gradient updates, such as gradient clipping or multipliers, and returns the updated list.summarize_gradients
: Whether or not add summaries for each gradient.gate_gradients
: How to gate the computation of gradients. See tf.Optimizer.aggregation_method
: Specifies the method used to combine gradient terms. Valid values are defined in the classAggregationMethod
.colocate_gradients_with_ops
: Whether or not to try colocating the gradients with the ops that generated them.check_numerics
: Whether or not we apply check_numerics.
Returns:
A Tensor
that when evaluated, computes the gradients and returns the total
loss value.