DatasetIterator

klasa publiczna DatasetIterator
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 <?>>>
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

Stała wartość: ""

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.

publiczny DatasetIterator (Ops tf, Operand <?> iteratorResource, List<Class<? Extends TType >> OutputTypes, List< Shape > OutputShapes)

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 op getInitializer ()

publiczny operand <?> getIteratorResource ()

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 ()

publiczny Iterator<Lista< Operand <?>>> iterator ()

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.