<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def log_histogram(self, name, value, step=None):
 """Log a histogram for given name on given step. Args: name (str):
 name of the variable (it will be converted to a valid tensorflow summary name). value (tuple or list):
 either list of numbers to be summarized as a histogram, or a tuple of bin_edges and bincounts that directly define a histogram. step (int):
 non-negative integer used for visualization """

        if isinstance(value, six.string_types):
            raise TypeError('"value" should be a number, got {}'
                            .format(type(value)))

        self._check_step(step)
        tf_name = self._ensure_tf_name(name)

        summary = self._histogram_summary(tf_name, value, step=step)
        self._log_summary(tf_name, summary, value, step=step)