# Contrib Symbol API

```eval_rst
    .. currentmodule:: mxnet.symbol.contrib
```

## Overview

This document lists the contrib routines of the symbolic expression package:

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

    mxnet.symbol.contrib
```

The `Contrib Symbol` API, defined in the `symbol.contrib` package, provides
many useful experimental APIs for new features.
This is a place for the community to try out the new features,
so that feature contributors can receive feedback.

```eval_rst
.. warning:: This package contains experimental APIs and may change in the near future.
```

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

## Contrib

```eval_rst
.. currentmodule:: mxnet.symbol.contrib

.. autosummary::
    :nosignatures:

    AdaptiveAvgPooling2D
    BilinearResize2D
    CTCLoss
    DeformableConvolution
    DeformablePSROIPooling
    MultiBoxDetection
    MultiBoxPrior
    MultiBoxTarget
    MultiProposal
    PSROIPooling
    Proposal
    ROIAlign
    count_sketch
    ctc_loss
    dequantize
    fft
    ifft
    quantize
    foreach
    while_loop
    cond
```

## API Reference

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

```eval_rst

.. automodule:: mxnet.symbol.contrib
    :members:

```

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