parameters: (centered_bias, batch_size, labels, loss_fn, weights)
return_statement: return training.AdagradOptimizer(0.1).minimize(
        centered_bias_loss, var_list=(centered_bias,), name=name)
docstring: Creates and returns training op for centered bias.
docstring_summary: Creates and returns training op for centered bias.
docstring_tokens: Creates and returns training op for centered bias .
function: def _centered_bias_step(centered_bias, batch_size, labels, loss_fn, weights):
    """Creates and returns training op for centered bias."""
    with ops.name_scope(None, "centered_bias_step", (labels,)) as name:
      logits_dimension = array_ops.shape(centered_bias)[0]
      logits = array_ops.reshape(
          array_ops.tile(centered_bias, (batch_size,)),
          (batch_size, logits_dimension))
      with ops.name_scope(None, "centered_bias", (labels, logits)):
        centered_bias_loss = math_ops.reduce_mean(
            loss_fn(labels, logits, weights), name="training_loss")
    # Learn central bias by an optimizer. 0.1 is a convervative lr for a
    # single variable.
    return training.AdagradOptimizer(0.1).minimize(
        centered_bias_loss, var_list=(centered_bias,), name=name)
function_tokens: def _centered_bias_step ( centered_bias , batch_size , labels , loss_fn , weights ) : with ops . name_scope ( None , "centered_bias_step" , ( labels , ) ) as name : logits_dimension = array_ops . shape ( centered_bias ) [ 0 ] logits = array_ops . reshape ( array_ops . tile ( centered_bias , ( batch_size , ) ) , ( batch_size , logits_dimension ) ) with ops . name_scope ( None , "centered_bias" , ( labels , logits ) ) : centered_bias_loss = math_ops . reduce_mean ( loss_fn ( labels , logits , weights ) , name = "training_loss" ) # Learn central bias by an optimizer. 0.1 is a convervative lr for a # single variable. return training . AdagradOptimizer ( 0.1 ) . minimize ( centered_bias_loss , var_list = ( centered_bias , ) , name = name )