当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。