DatasetIterator

public class DatasetIterator
Subclasses diretas conhecidas

Representa o estado de uma iteração por meio de um Datset tf.data. DatasetIterator não é java.util.Iterator. No modo antecipado, `Dataset` pode ser usado como um Iterable, retornando elementos do dataset a cada iteração.

Exemplo: Iteração em modo gráfico.

// Create input tensors
 Operand<?> features = tf.constant( ... );
 Operand<?> labels = tf.constant( ... );


 Dataset dataset = Dataset
         .fromTensorSlices(XTensor, yTensor);
         .batch(BATCH_SIZE);

 DatasetIterator iterator = dataset.makeInitializeableIterator();
 List<Operand<?>> components = iterator.getNext();
 Operand<?> featureBatch = components.get(0);
 Operand<?> labelBatch = components.get(1);

 // Build a TensorFlow graph that does something on each element.
 loss = computeModelLoss(featureBatch, labelBatch);

 optimizer = ... // create an optimizer
 trainOp = optimizer.minimize(loss);

 try (Session session = new Session(graph) {
   while (true) {
     session.run(iterator.getInitializer());
     try {
         session
           .addTarget(trainOp)
           .fetch(loss)
           .run();

         ...
      catch (TFOutOfRangeError e) {
         System.out.println("finished iterating.");
         break;
     }
   }
 }

 }

Exemplo: Iteração no modo ansioso.

// Create input tensors
 Operand<?> features = tf.constant( ... );
 Operand<?> labels = tf.constant( ... );

 int BATCH_SIZE = ...

 Dataset dataset = Dataset
         .fromTensorSlices(features, labels)
         .batch(BATCH_SIZE);
 DatasetIterator iterator = dataset.makeIterator();

 Optimizer optimizer = ... // create an optimizer

 for (List<Operand<?>> components : dataset) {
     Operand<?> featureBatch = components.get(0);
     Operand<?> labelBatch = components.get(1);

     loss = computeModelLoss(featureBatch, labelBatch);
     trainOp = optimizer.minimize(loss);
 
 }

Constantes

Fragmento EMPTY_SHARED_NAME

Construtores Públicos

DatasetIterator (Ops tf, Operand <?> IteratorResource, Op initializer, List <Class <? Extends TType >> outputTypes, List < Shape > outputShapes)
DatasetIterator (Ops tf, Operand <?> IteratorResource, List <Class <? Extends TType >> outputTypes, List < Shape > outputShapes)

Métodos Públicos

DatasetIterator estático
fromStructure (Ops tf, List <Class <? extends TType >> outputTypes, List < Shape > outputShapes)
Cria um novo iterador a partir de uma "estrutura" definida por `outputShapes` e` outputTypes`.
Op
Operando <?>
Listar < Operando <? >>
getNext ()
Retorna uma lista de Operand<?> Representando os componentes do próximo elemento do conjunto de dados.
DatasetOptional
getNextAsOptional ()
Retorna um `DatasetOptional` representando os componentes do próximo elemento do conjunto de dados.
Ops
Iterador <Lista < Operando <? >>>
Op
makeInitializer ( conjunto de dados do conjunto de dados)
Cria e retorna um TF `Op` que pode ser executado para inicializar este iterador em um conjunto de dados.

Métodos herdados

Constantes

public static final String EMPTY_SHARED_NAME

Valor constante: ""

Construtores Públicos

public DatasetIterator (Ops tf, Operand <?> iteratorResource, Op initializer, List <Class <? extends TType >> outputTypes, List < Shape > outputShapes)

Parâmetros
tf Acessador de operações correspondente ao mesmo `ExecutionEnvironment` que o` iteratorResource`.
iteratorResource Um operando que representa o iterador (por exemplo, construído a partir de `tf.data.iterator` ou` tf.data.anonymousIterator`)
inicializador Um `Op` que deve ser executado para inicializar este iterador
outputTypes Uma lista de classes correspondentes ao tipo de tensor de cada componente de um elemento do conjunto de dados.
outputShapes Uma lista de objetos `Shape` correspondentes às formas de cada componente de um elemento do conjunto de dados.

public DatasetIterator (Ops tf, Operand <?> iteratorResource, List <Class <? extends TType >> outputTypes, List < Shape > outputShapes)

Métodos Públicos

public static DatasetIterator fromStructure (Ops tf, List <Class <? extends TType >> outputTypes, List < Shape > outputShapes)

Cria um novo iterador a partir de uma "estrutura" definida por `outputShapes` e` outputTypes`.

Parâmetros
tf Acessador de operações
outputTypes Uma lista de classes representando o tipo tensor de cada componente de um elemento do conjunto de dados.
outputShapes Uma lista de objetos Shape que representam a forma de cada componente de um elemento do conjunto de dados.
Devoluções
  • Um novo DatasetIterator

public Op getInitializer ()

pública Operando <?> getIteratorResource ()

public List < Operand <? >> getNext ()

Retorna uma lista de Operand<?> Representando os componentes do próximo elemento do conjunto de dados.

No modo gráfico, chame este método uma vez e use seu resultado como entrada para outro cálculo. Em seguida, no loop de treinamento, em chamadas sucessivas para session.run (), elementos de conjunto de dados sucessivos serão recuperados por meio desses componentes.

No modo ansioso, cada vez que esse método é chamado, o próximo elemento do conjunto de dados será retornado. (Isso é feito automaticamente iterando por meio de `Dataset` como um Java` Iterable`).

Devoluções
  • Uma List<Operand<?>> representa os componentes do elemento do conjunto de dados.

public DatasetOptional getNextAsOptional ()

Retorna um `DatasetOptional` representando os componentes do próximo elemento do conjunto de dados.

No modo ansioso, cada vez que este método é chamado, o próximo elemento do conjunto de dados será retornado como um `DatasetOptional`.

Use `DatasetOptional.hasValue` para verificar se este opcional tem um valor e` DatasetOptional.getValue` para recuperar o valor.

Devoluções
  • Um `DatasetOptional` que representa os componentes do elemento do conjunto de dados.

public Ops getOpsInstance ()

public Iterator <List < Operand <? >>> iterator ()

public Op makeInitializer ( conjunto de dados do conjunto de dados)

Cria e retorna um TF `Op` que pode ser executado para inicializar este iterador em um conjunto de dados. O conjunto de dados deve ter uma estrutura (outputTypes, outputShapes) que corresponda a este iterador e compartilhe o mesmo ExecutionEnvironment que este iterador.

Quando este `Op` é executado, este iterador será" reinicializado "no primeiro elemento do conjunto de dados de entrada.

No modo ansioso, o op será executado automaticamente como parte de uma chamada para `makeIterator`.

Parâmetros
conjunto de dados Um `org.tensorflow.data.Dataset` para inicializar este iterador.
Devoluções
  • Um TF `Op` que pode ser usado para inicializar este iterador no conjunto de dados.
Lança
Exceção de argumento ilegal se o ExecutionEnvironment ou a estrutura do conjunto de dados não corresponder a este iterador.