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 <?>>> | 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
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. |
Métodos públicos
DatasetIterator estático público 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
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 ()
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
Excepción de argumento ilegal | si el entorno de ejecución o la estructura del conjunto de datos no coinciden con este iterador. |
---|