code: def weight_noise(noise_rate, learning_rate, var_list):
    
    if not noise_rate:
      return [tf.no_op()]
  
    tf.logging.info("Applying weight noise scaled by learning rate, "
                    "noise_rate: %0.5f", noise_rate)
  
    noise_ops = []
  
    for v in var_list:
      with tf.device(v.device):  # pylint: disable=protected-access
        scale = noise_rate * learning_rate * 0.001
        if common_layers.should_generate_summaries():
          tf.summary.scalar("weight_noise_scale", scale)
        noise = tf.truncated_normal(v.shape) * scale
        noise_op = v.assign_add(noise)
        noise_ops.append(noise_op)
  
    return noise_ops
docs: Apply weight noise to vars in var_list.