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.4/api_docs/python/tf/split