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 | Тензор для разделения. |
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 является 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