code: def random_von_mises(
      shape, concentration, dtype=tf.float32, seed=None
  ):
      """Samples from the standardized von Mises distribution.
  
      The distribution is vonMises(loc=0, concentration=concentration), so the mean
      is zero.
      The location can then be changed by adding it to the samples.
  
      The sampling algorithm is rejection sampling with wrapped Cauchy proposal [1].
      The samples are pathwise differentiable using the approach of [2].
  
      Args:
        shape: The output sample shape.
        concentration: The concentration parameter of the von Mises distribution.
        dtype: The data type of concentration and the outputs.
        seed: PRNG seed; see `tfp.random.sanitize_seed` for details.
  
      Returns:
        Differentiable samples of standardized von Mises.
  
      References:
        [1] Luc Devroye "Non-Uniform Random Variate Generation", Springer-Verlag,
        1986; Chapter 9, p. 473-476.
        http://www.nrbook.com/devroye/Devroye_files/chapter_nine.pdf
        + corrections http://www.nrbook.com/devroye/Devroye_files/errors.pdf
        [2] Michael Figurnov, Shakir Mohamed, Andriy Mnih. "Implicit
        Reparameterization Gradients", 2018.
      """
      shape = ps.convert_to_shape_tensor(
          shape, dtype_hint=tf.int32, name="shape"
      )
      seed = samplers.sanitize_seed(seed, salt="von_mises")
      concentration = tf.convert_to_tensor(
          concentration, dtype=dtype, name="concentration"
      )
  
      return _von_mises_sample_with_gradient(shape, concentration, seed)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.math.gradient import value_and_gradient
label_desc: Use image node_id 11 for calling a global function with example usage: random_von_mises(shape, concentration, dtype, seed) and returns: _von_mises_sample_with_gradient