Esta página foi traduzida pela API Cloud Translation.
Switch to English

tf.data.experimental.dense_to_sparse_batch

TensorFlow 1 versão Ver fonte no GitHub

Uma transformação que lotes irregular elementos em tf.sparse.SparseTensor s.

Como Dataset.padded_batch() , esta transformação combina vários elementos consecutivos do conjunto de dados, o que pode ter diferentes formas, em um único elemento. O elemento resultante tem três componentes ( indices , values , e dense_shape ), que compreendem um tf.sparse.SparseTensor que representa os mesmos dados. O row_shape representa a forma densa de cada linha da resultante tf.sparse.SparseTensor , para que o tamanho efectivo do lote é adicionado. Por exemplo:

 # 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])
}
 

batch_size A tf.int64 escalar tf.Tensor , o que representa o número de elementos consecutivos de este conjunto de dados para combinar em um único lote.
row_shape Um tf.TensorShape ou tf.int64 vector tensor como objecto que representa a forma densa equivalente de uma linha na resultante tf.sparse.SparseTensor . Cada elemento deste conjunto de dados deve ter o mesmo valor como row_shape , e deve ter tamanho inferior ou igual a row_shape em cada dimensão.

Um Dataset função de transformação, que pode ser passado para tf.data.Dataset.apply .