DatasetIterator

classe pública DatasetIterator
Subclasses diretas conhecidas

Representa o estado de uma iteração por meio de um Datset tf.data. DatasetIterator não é um java.util.Iterator. No modo ansioso, `Dataset` pode ser usado como um Iterable, retornando elementos do conjunto de dados 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 em 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

Corda EMPTY_SHARED_NAME

Construtores Públicos

DatasetIterator (Ops tf, operando <?> iteratorResource, inicializador Op , List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)
DatasetIterator (Ops tf, Operando <?> iteratorResource, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)

Métodos Públicos

DatasetIterator estático
fromStructure (Ops tf, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)
Cria um novo iterador a partir de uma "estrutura" definida por `outputShapes` e `outputTypes`.
Op.
Operando <?>
Lista< Operando <?>>
obterPróximo ()
Retorna uma lista de Operand<?> representando os componentes do próximo elemento do conjunto de dados.
Conjunto de dados opcional
getNextAsOptional ()
Retorna um `DatasetOptional` representando os componentes do próximo elemento do conjunto de dados.
Operações
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

String final estática pública EMPTY_SHARED_NAME

Valor constante: ""

Construtores Públicos

public DatasetIterator (Ops tf, Operando <?> iteratorResource, Op inicializador, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)

Parâmetros
TF Acessador de operações correspondente ao mesmo `ExecutionEnvironment` que `iteratorResource`.
iteradorResource 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
tipos de saída Uma lista de classes correspondentes ao tipo de tensor de cada componente de um elemento do conjunto de dados.
saídaFormas Uma lista de objetos `Shape` correspondentes às formas de cada componente de um elemento do conjunto de dados.

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

Métodos Públicos

public static DatasetIterator fromStructure (Ops tf, List<Class<? estende 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
tipos de saída Uma lista de classes que representam o tipo de tensor de cada componente de um elemento do conjunto de dados.
saídaFormas Uma lista de objetos Shape que representam a forma de cada componente de um elemento do conjunto de dados.
Devoluções
  • Um novo DatasetIterator

operação pública getInitializer ()

Operando público <?> getIteratorResource ()

Lista pública< Operando <?>> getNext ()

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

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

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

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

conjunto de dados públicoopcional getNextAsOptional ()

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

No modo ansioso, cada vez que esse método é chamado, o próximo elemento do conjunto de dados será retornado como `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.

operações públicas getOpsInstance ()

iterador público<Lista< Operando <?>>> iterador ()

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` for executado, este iterador será "reinicializado" no primeiro elemento do conjunto de dados de entrada.

No modo ansioso, a operação será executada 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.