Sottoclassi dirette conosciute |
Rappresenta lo stato di un'iterazione attraverso un Datset tf.data. DatasetIterator non è un java.util.Iterator. In modalità desiderosa, "Dataset" può essere utilizzato come Iterable, restituendo elementi del set di dati a ogni iterazione.
Esempio: Iterazione in modalità grafico.
// 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;
}
}
}
}
Esempio: Iterazione in modalità desiderosa.
// 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);
}
Costanti
Corda | EMPTY_SHARED_NAME |
Costruttori pubblici
DatasetIterator (Ops tf, Operando <?> iteratorResource, Inizializzatore Op , List<Class<? estende TType >> outputTypes, List< Shape > outputShapes) | |
DatasetIterator (Ops tf, Operando <?> iteratorResource, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes) |
Metodi pubblici
DatasetIterator statico | fromStructure (Ops tf, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes) Crea un nuovo iteratore da una "struttura" definita da "outputShapes" e "outputTypes". |
Operazione | |
Operando <?> | |
Elenco< operando <?>> | ottienisuccessivo () Restituisce un elenco di Operand<?> che rappresentano i componenti dell'elemento successivo del set di dati. |
DatasetFacoltativo | getNextAsOptional () Restituisce un "DatasetOptional" che rappresenta i componenti dell'elemento del set di dati successivo. |
Op | |
Iteratore<Elenco< Operando <?>>> | iteratore () |
Operazione | makeInitializer (set di dati del set di dati ) Crea e restituisce un TF "Op" che può essere eseguito per inizializzare questo iteratore su un set di dati. |
Metodi ereditati
Costanti
Stringa finale statica pubblica EMPTY_SHARED_NAME
Costruttori pubblici
public DatasetIterator (Ops tf, Operand <?> iteratorResource, Op inizializzatore, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)
Parametri
tf | Funzione di accesso Ops corrispondente allo stesso "ExecutionEnvironment" di "iteratorResource". |
---|---|
iteratorResource | Un operando che rappresenta l'iteratore (ad esempio costruito da `tf.data.iterator` o `tf.data.anonymousIterator`) |
inizializzatore | Un "Op" che dovrebbe essere eseguito per inizializzare questo iteratore |
outputTypes | Un elenco di classi corrispondenti al tipo di tensore di ciascun componente di un elemento del set di dati. |
outputShapes | Un elenco di oggetti "Shape" corrispondenti alle forme di ciascun componente di un elemento del set di dati. |
Metodi pubblici
public static DatasetIterator fromStructure (Ops tf, List<Class<? estende TType >> outputTypes, List< Shape > outputShapes)
Crea un nuovo iteratore da una "struttura" definita da "outputShapes" e "outputTypes".
Parametri
tf | Accessore Ops |
---|---|
outputTypes | Un elenco di classi che rappresentano il tipo di tensore di ciascun componente di un elemento del set di dati. |
outputShapes | Un elenco di oggetti Shape che rappresentano la forma di ciascun componente di un elemento del set di dati. |
ritorna
- Un nuovo DatasetIterator
public List< Operando <?>> getNext ()
Restituisce un elenco di Operand<?>
che rappresentano i componenti dell'elemento successivo del set di dati.
In modalità grafico, chiama questo metodo una volta e usa il suo risultato come input per un altro calcolo. Quindi nel ciclo di training, nelle chiamate successive a session.run(), gli elementi successivi del set di dati verranno recuperati tramite questi componenti.
In modalità desiderosa, ogni volta che viene chiamato questo metodo, verrà restituito l'elemento successivo del set di dati. (Ciò viene fatto automaticamente eseguendo l'iterazione di `Dataset` come Java `Iterable`).
ritorna
- Un
List<Operand<?>>
che rappresenta i componenti dell'elemento del set di dati.
public DatasetOptional getNextAsOptional ()
Restituisce un "DatasetOptional" che rappresenta i componenti dell'elemento del set di dati successivo.
In modalità desiderosa, ogni volta che viene chiamato questo metodo, il successivo elemento del set di dati verrà restituito come "DatasetOptional".
Utilizza "DatasetOptional.hasValue" per verificare se questo opzionale ha un valore e "DatasetOptional.getValue" per recuperare il valore.
ritorna
- Un "DatasetOptional" che rappresenta i componenti dell'elemento del set di dati.
operazioni pubbliche getOpsInstance ()
public Op makeInitializer (set di dati del set di dati )
Crea e restituisce un TF "Op" che può essere eseguito per inizializzare questo iteratore su un set di dati. Il set di dati deve avere una struttura (outputTypes, outputShapes) che corrisponde a questo iteratore e condivide lo stesso ExecutionEnvironment di questo iteratore.
Quando viene eseguito questo "Op", questo iteratore verrà "reinizializzato" nel primo elemento del set di dati di input.
In modalità desiderosa, l'operazione verrà eseguita automaticamente come parte di una chiamata a "makeIterator".
Parametri
set di dati | Un `org.tensorflow.data.Dataset` su cui inizializzare questo iteratore. |
---|
ritorna
- Un TF "Op" che può essere utilizzato per inizializzare questo iteratore sul set di dati.
Lancia
IllegalArgumentException | se l'ExecutionEnvironment o la struttura del set di dati non corrisponde a questo iteratore. |
---|