code: def log_value(self, name, value, step=None):
          
          if isinstance(value, six.string_types):
              raise TypeError('"value" should be a number, got {}'
                              .format(type(value)))
          value = float(value)
  
          self._check_step(step)
          tf_name = self._ensure_tf_name(name)
  
          summary = self._scalar_summary(tf_name, value, step)
          self._log_summary(tf_name, summary, value, step=step)
docs: Log new value for given name on given step.
  
          Args:
              name (str): name of the variable (it will be converted to a valid
                  tensorflow summary name).
              value (float): this is a real number to be logged as a scalar.
              step (int): non-negative integer used for visualization: you can
                  log several different variables on one step, but should not log
                  different values of the same variable on the same step (this is
                  not checked).