Splits a tensor into sub tensors.
Aliases:
tf.compat.v1.splittf.compat.v2.split
tf.split(
value,
num_or_size_splits,
axis=0,
num=None,
name='split'
)
Used in the guide:
MaskingandpaddingwithKeras``
Used in the tutorials:
ConvolutionalVariationalAutoencoderIfnum_or_size_splitsis an integer, thenvalueis split along dimensionaxisintonum_splitsmaller tensors. This requires thatnum_splitevenly dividesvalue.shape[axis]. Ifnum_or_size_splitsis a 1-D Tensor (or list), we callitsize_splitsandvalueis splitinto len(size_splits) elements. The shape of thei-th element has the same size as thevalueexcept along dimensionaxiswhere the sizeissize_splits[i].
For example:
# 'value' is a tensor with shape [5, 30]
# Split 'value' into 3 tensors with sizes [4, 15, 11] along dimension 1
split0, split1, split2 = tf.split(value, [4, 15, 11], 1)
tf.shape(split0) # [5, 4]
tf.shape(split1) # [5, 15]
tf.shape(split2) # [5, 11]
# Split 'value' into 3 tensors along dimension 1
split0, split1, split2 = tf.split(value, num_or_size_splits=3, axis=1)
tf.shape(split0) # [5, 10]
Args:
value: TheTensorto split.num_or_size_splits: Either an integer indicating the number of splits along split_dim or a 1-D integerTensoror Python list containing the sizes of each output tensor along split_dim. If a scalar then it must evenly dividevalue.shape[axis]; otherwise the sum of sizes along the split dimension must match that of thevalue.
Returns:
if num_or_size_splits is a scalar returns 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.
Raises:
ValueError: Ifnumis unspecified and cannot be inferred.