當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.data.experimental.dense_to_sparse_batch用法及代碼示例


將參差不齊的元素批量轉換為 tf.sparse.SparseTensor 的轉換。

用法

tf.data.experimental.dense_to_sparse_batch(
    batch_size, row_shape
)

參數

  • batch_size tf.int64 標量 tf.Tensor ,表示要在單個批次中組合的此數據集的連續元素的數量。
  • row_shape 一個 tf.TensorShapetf.int64 向量 tensor-like 對象,表示生成的 tf.sparse.SparseTensor 中一行的等效密集形狀。此數據集的每個元素必須具有與 row_shape 相同的等級,並且在每個維度中的大小必須小於或等於 row_shape

返回

Dataset.padded_batch() 一樣,此轉換將數據集的多個連續元素(可能具有不同的形狀)組合成一個元素。生成的元素具有三個分量(indices , valuesdense_shape),它們包含表示相同數據的 tf.sparse.SparseTensorrow_shape 表示生成的 tf.sparse.SparseTensor 中每一行的密集形狀,有效批量大小被預先設置。例如:

# NOTE:The following examples use `{ ... }` to represent the
# contents of a dataset.
a = { ['a', 'b', 'c'], ['a', 'b'], ['a', 'b', 'c', 'd'] }

a.apply(tf.data.experimental.dense_to_sparse_batch(
    batch_size=2, row_shape=[6])) ==
{
    ([[0, 0], [0, 1], [0, 2], [1, 0], [1, 1]],  # indices
     ['a', 'b', 'c', 'a', 'b'],                 # values
     [2, 6]),                                   # dense_shape
    ([[0, 0], [0, 1], [0, 2], [0, 3]],
     ['a', 'b', 'c', 'd'],
     [1, 6])
}

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.data.experimental.dense_to_sparse_batch。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。