# Random Distribution Generator Symbol API

```eval_rst
    .. currentmodule:: mxnet.symbol.random
```

## Overview

This document lists the random distribution generator routines of the symbolic expression package:

```eval_rst
.. autosummary::
    :nosignatures:

    mxnet.symbol.random
```

The `Random Distribution Generator Symbol` API, defined in the `symbol.random` package, provides
symbolic expressions for random distribution generator routines.

In the rest of this document, we list routines provided by the `symbol.random` package.

## Random Distribution Generator

```eval_rst
.. currentmodule:: mxnet.symbol.random

.. autosummary::
    :nosignatures:

    exponential
    gamma
    generalized_negative_binomial
    negative_binomial
    normal
    poisson
    uniform
    multinomial
    shuffle
    mxnet.random.seed
```

## API Reference

<script type="text/javascript" src='../../../_static/js/auto_module_index.js'></script>

```eval_rst

.. automodule:: mxnet.symbol.random
    :members:

.. automodule:: mxnet.random
    :members:

```

<script>auto_index("api-reference");</script>
