tf.split
| Просмотреть исходный код на GitHub |
Разделяет тензор value на список подтензоров.
tf.split(
value, num_or_size_splits, axis=0, num=None, name='split'
)
См. также tf.unstack.
Если num_or_size_splits является целым числом, то value разделяется вдоль измерения axis на num_or_size_splits меньших тензоров. Это требует, чтобы value.shape[axis] было кратно num_or_size_splits.
Если num_or_size_splits является одномерным тензором (или списком), то value разделяется на len(num_or_size_splits) элементов. Размер i-го элемента имеет тот же размер, что и value, за исключением измерения axis, где размер составляет num_or_size_splits[i].
Пример:
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 | Разделяемый Tensor . |
num_or_size_splits | Либо целое число, указывающее количество разделов вдоль axis, либо одномерный целочисленный Tensor или список Python, содержащий размеры каждого выходного тензора вдоль axis. Если скаляр, то он должен делиться на value.shape[axis]; в противном случае сумма размеров вдоль оси разделения должна совпадать с суммой размеров вдоль оси разделения value. |
axis | Целое число или скалярное int32 Tensor. Измерение, вдоль которого необходимо выполнить разделение. Должно находиться в диапазоне [-rank(value), rank(value)). По умолчанию равно 0. |
num | Необязательно, используется для указания количества выходов, когда его нельзя определить из формы size_splits. |
name | Название операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Если num_or_size_splits является скаляром, возвращается список num_or_size_splits Tensor объектов; если num_or_size_splits является одномерным тензором, возвращаются num_or_size_splits.get_shape[0] Tensor объектов, полученных в результате разделения value. |
| Исключения | |
|---|---|
ValueError | Если num не указано и его нельзя определить. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/split