tf.split
| View source on GitHub |
Разделяет тензор value на список подтензоров.
tf.split(
value, num_or_size_splits, axis=0, num=None, name='split'
)
См. также tf.unstack.
Если num_or_size_splits является int, то он разделяет 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 | Тензор для разделения. |
num_or_size_splits | Либо целое число, указывающее на количество разделов вдоль axis, либо одномерный целочисленный массив или 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 не указано и не может быть определено. |
ValueError | Если num_or_size_splits является скалярным Tensor. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/split