DatasetIterator

clase pública DatasetIterator
Subclases directas conocidas

Representa el estado de una iteración a través de un conjunto de datos tf.data. DatasetIterator no es java.util.Iterator. En modo ansioso, `Dataset` se puede usar como un 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

Cadena EMPTY_SHARED_NAME

Constructores Públicos

DatasetIterator (Ops tf, Operando <?> iteratorResource, Inicializador de operación , Lista<Clase<? extiende TType >> tipos de salida, Lista< Forma > formas de salida)
DatasetIterator (Ops tf, Operando <?> iteratorResource, Lista<Clase<? extiende TType >> tipos de salida, Lista< Forma > formas de salida)

Métodos públicos

Iterador de conjunto de datos estático
fromStructure (Ops tf, Lista<Clase<? extiende TType >> tipos de salida, Lista< Forma > formas de salida)
Crea un nuevo iterador a partir de una "estructura" definida por `outputShapes` y `outputTypes`.
Op.
Operando <?>
Lista< Operando <?>>
obtenerSiguiente ()
Devuelve una lista de Operand<?> que representa 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.
operaciones
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

público DatasetIterator (Ops tf, Operando <?> iteratorResource, Inicializador de operación , Lista<Clase<? extiende TType >> tipos de salida, Lista< Forma > formas de salida)

Parámetros
tf Accesor de operaciones correspondiente al mismo `ExecutionEnvironment` que `iteratorResource`.
iteradorRecurso 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.
tipos de salida Una lista de clases correspondientes al tipo de tensor de cada componente de un elemento del conjunto de datos.
salidaFormas Una lista de objetos "Forma" correspondientes a las formas de cada componente de un elemento del conjunto de datos.

público DatasetIterator (Ops tf, Operando <?> iteratorResource, Lista<Clase<? extiende TType >> tipos de salida, Lista< Forma > formas de salida)

Métodos públicos

DatasetIterator público estático de Estructura (Ops tf, Lista<Clase<? extiende TType >> tipos de salida, Lista <Forma> formas de salida)

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

Parámetros
tf Accesor de operaciones
tipos de salida Una lista de clases que representan el tipo de tensor de cada componente de un elemento del conjunto de datos.
salidaFormas Una lista de objetos Shape que representan la forma de cada componente de un elemento del conjunto de datos.
Devoluciones
  • Un nuevo DatasetIterator

operación pública getInitializer ()

Operando público <?> getIteratorResource ()

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

Devuelve una lista de Operand<?> que representa 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 llamadas sucesivas a session.run(), se recuperarán elementos sucesivos del conjunto de datos 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 `Iterable` de Java).

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

conjunto de datos público opcional getNextAsOptional ()

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

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

Utilice `DatasetOptional.hasValue` para comprobar 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 comparta el mismo ExecutionEnvironment 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 utilizar 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 coinciden con este iterador.