tf.sparse.split
Разделяет SparseTensor на num_split тензоров вдоль axis.
tf.sparse.split(
sp_input=None, num_split=None, axis=None, name=None
)
Если sp_input.dense_shape[axis] не является целым кратным num_split, каждый срез, начинающийся с 0:shape[axis] % num_split, получает дополнительное измерение. Например:
indices = [[0, 2], [0, 4], [0, 5], [1, 0], [1, 1]]
values = [1, 2, 3, 4, 5]
t = tf.sparse.SparseTensor(indices=indices, values=values,
dense_shape=[2, 7])
tf.sparse.to_dense(t)
<tf.Tensor: shape=(2, 7), dtype=int32, numpy=
array([[0, 0, 1, 0, 2, 3, 0],
[4, 5, 0, 0, 0, 0, 0]], dtype=int32)>output = tf.sparse.split(sp_input=t, num_split=2, axis=1)
tf.sparse.to_dense(output[0])
<tf.Tensor: shape=(2, 4), dtype=int32, numpy=
array([[0, 0, 1, 0],
[4, 5, 0, 0]], dtype=int32)>
tf.sparse.to_dense(output[1])
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[2, 3, 0],
[0, 0, 0]], dtype=int32)>output = tf.sparse.split(sp_input=t, num_split=2, axis=0) tf.sparse.to_dense(output[0]) <tf.Tensor: shape=(1, 7), dtype=int32, numpy=array([[0, 0, 1, 0, 2, 3, 0]], dtype=int32)> tf.sparse.to_dense(output[1]) <tf.Tensor: shape=(1, 7), dtype=int32, numpy=array([[4, 5, 0, 0, 0, 0, 0]], dtype=int32)>
output = tf.sparse.split(sp_input=t, num_split=2, axis=-1)
tf.sparse.to_dense(output[0])
<tf.Tensor: shape=(2, 4), dtype=int32, numpy=
array([[0, 0, 1, 0],
[4, 5, 0, 0]], dtype=int32)>
tf.sparse.to_dense(output[1])
<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[2, 3, 0],
[0, 0, 0]], dtype=int32)>| Аргументы | |
|---|---|
sp_input | SparseTensor для разделения. |
num_split | Целое число Python. Количество частей, на которые нужно разделить. |
axis | Тензор int32 Tensor нулевой размерности. Измерение, вдоль которого выполняется разделение. Должно находиться в диапазоне [-rank, rank), где rank — количество измерений во входном SparseTensor. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Объекты num_split SparseTensor, полученные в результате разделения value. |
| Вызывает исключение | |
|---|---|
TypeError | Если sp_input не является SparseTensor. |
© 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/sparse/split