from tensorflow.python.ops import check_ops

    return array_ops.identity(self.rate)

  def _variance(self):
    return array_ops.identity(self.rate)

  @distribution_util.AppendDocstring(
      """Note: when `rate` is an integer, there are actually two modes: `rate`
      and `rate - 1`. In this case we return the larger, i.e., `rate`.""")
  def _mode(self):
    return math_ops.floor(self.rate)

  def _assert_valid_sample(self, x, check_integer=True):
    if not self.validate_args:
      return x
    dependencies = [check_ops.assert_non_negative(x)]
    if check_integer:
      dependencies += [distribution_util.assert_integer_form(
          x, message="x has non-integer components.")]
    return control_flow_ops.with_dependencies(dependencies, x)
