code: def weight_decay(decay_rate, var_list, skip_biases=True):
    
    if not decay_rate:
      return 0.
  
    tf.logging.info("Applying weight decay, decay_rate: %0.5f", decay_rate)
  
    weight_decays = []
    for v in var_list:
      # Weight decay.
      # This is a heuristic way to detect biases that works for main tf.layers.
      is_bias = len(v.shape.as_list()) == 1 and v.name.endswith("bias:0")
      if not (skip_biases and is_bias):
        with tf.device(v.device):
          v_loss = tf.nn.l2_loss(v)
        weight_decays.append(v_loss)
  
    return tf.add_n(weight_decays) * decay_rate
docs: Apply weight decay to vars in var_list.