代码语言:javascript复制
tf.split(
value,
num_or_size_splits,
axis=0,
num=None,
name='split'
)
把张量分解成子张量。如果num_or_size_split是一个整数,那么值将沿着维度轴拆分为num_split较小的张量。这要求num_split均匀地分割value.shape[axis]。如果num_or_size_split是一个一维张量(或列表),称之为size_split,值被分割成len(size_split)元素。第i个元素的形状与值的大小相同,除了尺寸为size_split [i]的维度轴。
例如:
代码语言:javascript复制# 'value' is a tensor with shape [5, 30]
# Split 'value' into 3 tensors with sizes [4, 15, 11] along dimension 1
split0, split1, split2 = tf.split(value, [4, 15, 11], 1)
tf.shape(split0) # [5, 4]
tf.shape(split1) # [5, 15]
tf.shape(split2) # [5, 11]
# Split 'value' into 3 tensors along dimension 1
split0, split1, split2 = tf.split(value, num_or_size_splits=3, axis=1)
tf.shape(split0) # [5, 10]
参数:
value
: 要分割的张量。- num_or_size_split: 要么是一个整数,表示沿split_dim进行的分割的数量,要么是一个一维整数张量或Python列表,其中包含沿split_dim进行的每个输出张量的大小。如果一个标量,那么它必须均匀地除value.shape[axis];否则,拆分维度上的大小总和必须与值的大小相匹配。
- axis: 整数或标量int32张量。要分割的维度。必须在[-rank(value), rank(value)]范围内。默认值为0。
- num: 可选的,用于指定不能从size_split的形状推断输出的数量。
- name:操作的名称(可选)。
返回值:
- 如果num_or_size_split是一个标量,则返回num_or_size_split张量对象;如果num_or_size_split是一个一维张量,则返回num_or_size_split。由值分裂得到的张量对象。
异常:
ValueError
: Ifnum
is unspecified and cannot be inferred.
原链接: https://tensorflow.google.cn/versions/r1.14/api_docs/python/tf/split