# tf.distribute.experimental.partitioners.Partitioner

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/distribute/sharded_variable.py#L46-L80) |

Partitioner base class: all partitiners inherit from this class.

Partitioners should implement a `__call__` method with the following
signature:

    def __call__(self, shape, dtype, axis=0):
      # Partitions the given `shape` and returns the partition results.
      # See docstring of `__call__` method for the format of partition results.

## Methods

### `__call__`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/distribute/sharded_variable.py#L60-L80)

    __call__(
        shape, dtype, axis=0
    )

Partitions the given `shape` and returns the partition results.

Examples of a partitioner that allocates a fixed number of shards:

    partitioner = FixedShardsPartitioner(num_shards=2)
    partitions = partitioner(tf.TensorShape([10, 3], tf.float32), axis=0)
    print(partitions) # [2, 0]

<br />

<br />

<br />

| Args ||
|---|---|
| `shape` | a [`tf.TensorShape`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/TensorShape), the shape to partition. |
| `dtype` | a `tf.dtypes.Dtype` indicating the type of the partition value. |
| `axis` | The axis to partition along. Default: outermost axis. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| A list of integers representing the number of partitions on each axis, where i-th value correponds to i-th axis. ||

<br />