DatasetIterator

DatasetIterator de clase pública
Subclases directas conocidas

Representa el estado de una iteración a través de un conjunto de datos tf.data. DatasetIterator no es un java.util.Iterator. En el modo ansioso, `Dataset` se puede usar como Iterable, devolviendo elementos del conjunto de datos en cada iteración.

Ejemplo: iteración en 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;
     }
   }
 }

 }

Ejemplo: iteración en 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

Cuerda EMPTY_SHARED_NAME

Constructores públicos

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

Métodos públicos

static DatasetIterator
fromStructure (Ops tf, List <Class <? extiende TType >> outputTypes, List < Shape > outputShapes)
Crea un nuevo iterador a partir de una "estructura" definida por `outputShapes` y` outputTypes`.
Op
Operando <?>
Lista < Operando <? >>
getNext ()
Devuelve una lista de Operand<?> representan los componentes del siguiente elemento del conjunto de datos.
Conjunto de datosOpcional
getNextAsOptional ()
Devuelve un "DatasetOptional" que representa los componentes del siguiente elemento del conjunto de datos.
Ops
Iterador <Lista < Operando <? >>>
Op
makeInitializer ( conjunto de datos del conjunto de datos)
Crea y devuelve un TF `Op` que se puede ejecutar para inicializar este iterador en un conjunto de datos.

Métodos heredados

Constantes

Cadena final estática pública EMPTY_SHARED_NAME

Valor constante: ""

Constructores públicos

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

Parámetros
tf Accesor de operaciones correspondiente al mismo `ExecutionEnvironment` que el` iteratorResource`.
iteratorResource Un operando que representa el iterador (por ejemplo, construido a partir de `tf.data.iterator` o` tf.data.anonymousIterator`)
inicializador Una `Op` que debe ejecutarse para inicializar este iterador
outputTypes Una lista de clases correspondientes al tipo de tensor de cada componente de un elemento del conjunto de datos.
outputShapes Una lista de objetos de "Forma" correspondientes a las formas de cada componente de un elemento del conjunto de datos.

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

Métodos públicos

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

Crea un nuevo iterador a partir de una "estructura" definida por `outputShapes` y` outputTypes`.

Parámetros
tf Accesorio de operaciones
outputTypes Una lista de clases que repiten el tipo de tensor de cada componente de un elemento del conjunto de datos.
outputShapes Una lista de objetos Shape que representan la forma de cada componente de un elemento del conjunto de datos.
Devoluciones
  • Un nuevo DatasetIterator

public Op getInitializer ()

operando público <?> getIteratorResource ()

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

Devuelve una lista de Operand<?> representan los componentes del siguiente elemento del conjunto de datos.

En modo gráfico, llame a este método una vez y use su resultado como entrada para otro cálculo. Luego, en el ciclo de entrenamiento, en sucesivas llamadas a session.run (), los elementos sucesivos del conjunto de datos se recuperarán a través de estos componentes.

En modo ansioso, cada vez que se llama a este método, se devolverá el siguiente elemento del conjunto de datos. (Esto se hace automáticamente iterando a través de `Dataset` como un Java` Iterable`).

Devoluciones
  • Una List<Operand<?>> representa los componentes del elemento del conjunto de datos.

public DatasetOptional getNextAsOptional ()

Devuelve un "DatasetOptional" que representa los componentes del siguiente elemento del conjunto de datos.

En el modo ansioso, cada vez que se llama a este método, el siguiente elemento del conjunto de datos se devolverá como un `DatasetOptional`.

Usa `DatasetOptional.hasValue` para verificar si este opcional tiene un valor y` DatasetOptional.getValue` para recuperar el valor.

Devoluciones
  • Un "DatasetOptional" que representa los componentes del elemento del conjunto de datos.

operaciones públicas getOpsInstance ()

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

public Op makeInitializer ( conjunto de datos del conjunto de datos)

Crea y devuelve un TF `Op` que se puede ejecutar para inicializar este iterador en un conjunto de datos. El conjunto de datos debe tener una estructura (outputTypes, outputShapes) que coincida con este iterador y compartir el mismo entorno de ejecución que este iterador.

Cuando se ejecuta esta `Op`, este iterador se" reinicializará "en el primer elemento del conjunto de datos de entrada.

En modo ansioso, la operación se ejecutará automáticamente como parte de una llamada a `makeIterator`.

Parámetros
conjunto de datos Un `org.tensorflow.data.Dataset` para inicializar este iterador.
Devoluciones
  • Un TF `Op` que se puede usar para inicializar este iterador en el conjunto de datos.
Lanza
Argumento de excepción ilegal si el entorno de ejecución o la estructura del conjunto de datos no coincide con este iterador.