tf.split
Разбивает тензор 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 | Tensor, который нужно разбить. |
num_or_size_splits | Либо int, задающее количество частей вдоль axis, либо одномерный целочисленный Tensor или список Python, содержащий размеры каждого выходного тензора вдоль axis. Если это int, оно должно делить value.shape[axis] без остатка; в противном случае сумма размеров вдоль оси разбиения должна совпадать с размером value. |
axis | int или скалярный int32 Tensor. Измерение, вдоль которого выполняется разбиение. Значение должно находиться в диапазоне [-rank(value), rank(value)). По умолчанию равно 0. |
num | Необязательный параметр int, используемый для задания количества выходных значений, если его нельзя определить по форме size_splits. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
если num_or_size_splits — это int, возвращает список объектов num_or_size_splits Tensor; если num_or_size_splits — это одномерный список или одномерный Tensor, возвращает 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/api_docs/python/tf/split