# tf.split

Splits a tensor `value` into a list of sub tensors.

See also `tf.unstack`.

If `num_or_size_splits` is an integer, then `value` is split along the dimension `axis` into `num_split` smaller tensors. This requires that `value.shape[axis]` is divisible by `num_split`.

If `num_or_size_splits` is a 1-D Tensor (or list), we call it `size_splits` and `value` is split into `len(size_splits)` elements. The shape of the `i`-th element has the same size as the `value` except along dimension `axis` where the size is `size_splits[i]`.

#### For example:

````x = tf.Variable(tf.random.uniform([5, 30], -1, 1))`
```

Split `x` into 3 tensors along dimension 1

s0, s1, s2 = tf.split(x, num_or_size_splits=3, axis=1) tf.shape(s0).numpy() array([ 5, 10], dtype=int32)

Split `x` into 3 tensors with sizes [4, 15, 11] along dimension 1

split0, split1, split2 = tf.split(x, [4, 15, 11], 1) tf.shape(split0).numpy() array([5, 4], dtype=int32) tf.shape(split1).numpy() array([ 5, 15], dtype=int32) tf.shape(split2).numpy() array([ 5, 11], dtype=int32)

`value` The `Tensor` to split.
`num_or_size_splits` Either an integer indicating the number of splits along `axis` or a 1-D integer `Tensor` or Python list containing the sizes of each output tensor along `axis`. If a scalar, then it must evenly divide `value.shape[axis]`; otherwise the sum of sizes along the split axis must match that of the `value`.
`axis` An integer or scalar `int32` `Tensor`. The dimension along which to split. Must be in the range `[-rank(value), rank(value))`. Defaults to 0.
`num` Optional, used to specify the number of outputs when it cannot be inferred from the shape of `size_splits`.
`name` A name for the operation (optional).

if `num_or_size_splits` is a scalar returns a list of `num_or_size_splits` `Tensor` objects; if `num_or_size_splits` is a 1-D Tensor returns `num_or_size_splits.get_shape[0]` `Tensor` objects resulting from splitting `value`.

`ValueError` If `num` is unspecified and cannot be inferred.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]