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 <? >>> | iterador () |
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
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. |
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
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 ()
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. |
---|