Znane podklasy bezpośrednie |
Reprezentuje stan iteracji poprzez zestaw danych tf.data. DatasetIterator nie jest Java.util.Iteratorem. W trybie chętnym „Zbiór danych” może być używany jako obiekt iterowalny, zwracający elementy zbioru danych w każdej iteracji.
Przykład: Iteracja w trybie graficznym.
// 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;
}
}
}
}
Przykład: Iteracja w trybie chętnym.
// 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);
}
Stałe
Strunowy | PUSTY_NAZWA_SHARED |
Konstruktorzy publiczni
DatasetIterator (Ops tf, Operand <?> iteratorResource, Inicjator Op , List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes) | |
DatasetIterator (Ops tf, Operand <?> iteratorResource, List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes) |
Metody publiczne
statyczny Iterator zestawu danych | fromStructure (Ops tf, List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes) Tworzy nowy iterator na podstawie „struktury” zdefiniowanej przez „outputShapes” i „outputTypes”. |
Op | |
Operand <?> | |
Lista< Operand <?>> | pobierz następny () Zwraca listę Operand<?> reprezentujących składniki następnego elementu zbioru danych. |
Zbiór danychOpcjonalnie | getNextAsOptional () Zwraca wartość „DatasetOptional” reprezentującą składniki następnego elementu zbioru danych. |
Operacje | |
Iterator<Lista< Operand <?>>> | iterator () |
Op | makeInitializer (zestaw danych zbioru danych ) Tworzy i zwraca operację TF, którą można uruchomić w celu zainicjowania tego iteratora w zbiorze danych. |
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków EMPTY_SHARED_NAME
Konstruktorzy publiczni
publiczny DatasetIterator (Ops tf, Operand <?> iteratorResource, Inicjator Op , List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes)
Parametry
tf | Akcesor operacyjny odpowiadający temu samemu `ExecutionEnvironment` jak `iteratorResource`. |
---|---|
Zasób iteratora | Operand reprezentujący iterator (np. zbudowany z `tf.data.iterator` lub `tf.data.anonymousIterator`) |
inicjator | Operacja, która powinna zostać uruchomiona w celu zainicjowania iteratora |
Typy wyjściowe | Lista klas odpowiadających typowi tensora każdego składnika elementu zbioru danych. |
kształty wyjściowe | Lista obiektów „Shape” odpowiadających kształtom każdego komponentu elementu zbioru danych. |
Metody publiczne
publiczny statyczny DatasetIterator fromStructure (Ops tf, List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes)
Tworzy nowy iterator na podstawie „struktury” zdefiniowanej przez „outputShapes” i „outputTypes”.
Parametry
tf | Akcesorium operacyjne |
---|---|
Typy wyjściowe | Lista klas reprezentujących typ tensora każdego składnika elementu zbioru danych. |
kształty wyjściowe | Lista obiektów Shape reprezentujących kształt każdego składnika elementu zestawu danych. |
Zwroty
- Nowy DatasetIterator
public List< Operand <?>> getNext ()
Zwraca listę Operand<?>
reprezentujących składniki następnego elementu zbioru danych.
W trybie wykresu wywołaj tę metodę raz i użyj jej wyniku jako danych wejściowych do innego obliczenia. Następnie w pętli szkoleniowej, przy kolejnych wywołaniach session.run(), za pośrednictwem tych komponentów będą pobierane kolejne elementy zbioru danych.
W trybie chętnym przy każdym wywołaniu tej metody zostanie zwrócony kolejny element zestawu danych. (Odbywa się to automatycznie poprzez iterację po „Zbiorze danych” jako „Iterowalny” Java).
Zwroty
-
List<Operand<?>>
reprezentujący składniki elementu zestawu danych.
publiczny zestaw danychOptional getNextAsOptional ()
Zwraca wartość „DatasetOptional” reprezentującą składniki następnego elementu zbioru danych.
W trybie chętnym przy każdym wywołaniu tej metody następny element zestawu danych zostanie zwrócony jako „DatasetOptional”.
Użyj `DatasetOptional.hasValue`, aby sprawdzić, czy ta opcja ma wartość, i `DatasetOptional.getValue`, aby pobrać wartość.
Zwroty
- „DatasetOptional” reprezentujący komponenty elementu zbioru danych.
publiczne operacje getOpsInstance ()
public Op makeInitializer (zestaw danych zbioru danych )
Tworzy i zwraca operację TF, którą można uruchomić w celu zainicjowania tego iteratora w zbiorze danych. Zbiór danych musi mieć strukturę (outputTypes, OutputShapes) pasującą do tego iteratora i mieć to samo środowisko ExecutionEnvironment co ten iterator.
Po uruchomieniu tej operacji iterator zostanie „ponownie zainicjowany” przy pierwszym elemencie wejściowego zbioru danych.
W trybie chętnym operacja zostanie uruchomiona automatycznie w ramach wywołania `makeIterator`.
Parametry
zbiór danych | `org.tensorflow.data.Dataset`, na którym ma zostać zainicjowany ten iterator. |
---|
Zwroty
- Operacja TF, której można użyć do zainicjowania tego iteratora w zestawie danych.
Rzuca
Wyjątek IllegalArgument | jeśli ExecutionEnvironment lub struktura zestawu danych nie pasuje do tego iteratora. |
---|