Spec-Zone.ru › TensorFlow

tf.split

Разбивает тензор value на список подтензоров.

Просмотреть псевдонимы

Псевдонимы для обеспечения совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.split

tf.split(
    value, num_or_size_splits, axis=0, num=None, name='split'
)

Используется в блокнотах

Используется в руководстве Используется в руководствах
  • Распределённое обучение с Core API и DTensor
  • Маскирование и дополнение: основные понятия
  • Использование DTensor с Keras
  • Распределённое обучение с DTensor
  • Свёрточный вариационный автоэнкодер
  • MoViNet для потокового распознавания действий
  • Байесовское моделирование с Joint Distribution

См. также 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API