TensorFlow函數(shù):tf.split

2018-03-16 09:52 更新

tf.split函數(shù)

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

定義在:tensorflow/python/ops/array_ops.py.

參見(jiàn)指南:張量變換>切割和連接

將張量分割成子張量.

如果 num_or_size_splits 是整數(shù)類(lèi)型,num_split,則 value 沿維度 axis 分割成為 num_split 更小的張量.要求 num_split 均勻分配 value.shape[axis].

如果 num_or_size_splits 不是整數(shù)類(lèi)型,則它被認(rèn)為是一個(gè)張量 size_splits,然后將 value 分割成 len(size_splits) 塊.第 i 部分的形狀與 value 的大小相同,除了沿維度 axis 之外的大小 size_splits[i].

例如:

# '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]

函數(shù)參數(shù):

  • value:要分割的 Tensor.
  • num_or_size_splits:指示沿 split_dim 分割數(shù)量的 0-D 整數(shù) Tensor 或包含沿 split_dim 每個(gè)輸出張量大小的 1-D 整數(shù) Tensor ;如果為一個(gè)標(biāo)量,那么它必須均勻分割 value.shape[axis];否則沿分割維度的大小總和必須與該 value 相匹配.
  • axis:A 0-D int32 Tensor;表示分割的尺寸;必須在[-rank(value), rank(value))范圍內(nèi);默認(rèn)為0.
  • num:可選的,用于指定無(wú)法從 size_splits 的形狀推斷出的輸出數(shù).
  • name:操作的名稱(chēng)(可選).

函數(shù)返回值:

如果 num_or_size_splits 是標(biāo)量,返回 num_or_size_splits Tensor對(duì)象;如果 num_or_size_splits 是一維張量,則返回由 value 分割產(chǎn)生的 num_or_size_splits.get_shape[0] Tensor對(duì)象.

函數(shù)可能引發(fā)的異常:

  • ValueError:如果 num 沒(méi)有指定并且無(wú)法推斷.
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)