DatasetIterator

genel sınıf DatasetIterator
Bilinen Doğrudan Alt Sınıflar

Bir tf.data Datset aracılığıyla yinelemenin durumunu temsil eder. DatasetIterator bir Java.util.Iterator değildir. İstekli modda, 'Veri Kümesi' yinelenebilir olarak kullanılabilir ve her yinelemede veri kümesi öğelerini döndürür.

Örnek: Grafik modunda yineleme.

// 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;
     }
   }
 }

 }

Örnek: İstekli modda yineleme.

// 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);
 
 }

Sabitler

Sicim EMPTY_SHARED_NAME

Kamu İnşaatçıları

DatasetIterator (Ops tf, Operand <?> iteratorResource, Op başlatıcı, List<Class<? extends TType >> OutputTypes, List< Shape > OutputShapes)
DatasetIterator (Ops tf, İşlenen <?> iteratorResource, Liste<Sınıf<? extends TType >> çıktı Türleri, Liste< Şekil > çıktı Şekilleri)

Genel Yöntemler

statik Veri KümesiYineleyici
fromStructure (Ops tf, Liste<Sınıf<?, TType >> çıktı Türlerini genişletir, Liste< Şekil > çıktı Şekillerini genişletir)
'outputShapes' ve 'outputTypes' tarafından tanımlanan bir "yapıdan" yeni bir yineleyici oluşturur.
Operasyon
İşlenen <?>
Liste< İşlenen <?>>
Sonrakini Al ()
Sonraki veri kümesi öğesinin bileşenlerini temsil eden Operand<?> listesini döndürür.
Veri Kümesiİsteğe Bağlı
getNextAsOptional ()
Sonraki veri kümesi öğesinin bileşenlerini temsil eden bir "DatasetOptional" döndürür.
Operasyonlar
Yineleyici<Liste< İşlenen <?>>>
Operasyon
makeInitializer ( Veri kümesi veri kümesi)
Bu yineleyiciyi bir veri kümesinde başlatmak için çalıştırılabilecek bir TF `Op` oluşturur ve döndürür.

Kalıtsal Yöntemler

Sabitler

genel statik son Dize EMPTY_SHARED_NAME

Sabit değer: ""

Kamu İnşaatçıları

public DatasetIterator (Ops tf, Operand <?> iteratorResource, Op başlatıcı, List<Class<? extends TType >> OutputTypes, List< Shape > OutputShapes)

Parametreler
TF "iteratorResource" ile aynı "ExecutionEnvironment"a karşılık gelen işlem erişimcisi.
yineleyiciKaynak Yineleyiciyi temsil eden bir İşlenen (örneğin, 'tf.data.iterator' veya 'tf.data.anonymousIterator'dan oluşturulmuş)
başlatıcı Bu yineleyiciyi başlatmak için çalıştırılması gereken bir 'Op'
çıktı Türleri Bir veri kümesi öğesinin her bileşeninin tensör türüne karşılık gelen sınıfların listesi.
çıktı Şekilleri Bir veri kümesi öğesinin her bir bileşeninin şekillerine karşılık gelen "Şekil" nesnelerinin listesi.

public DatasetIterator (Ops tf, İşlenen <?> iteratorResource, Liste<Sınıf<? extends TType >> çıktı Türleri, Liste< Şekil > çıktı Şekilleri)

Genel Yöntemler

public static DatasetIterator fromStructure (Ops tf, List<Class<? extends TType >> OutputTypes, List< Shape > OutputShapes)

'outputShapes' ve 'outputTypes' tarafından tanımlanan bir "yapıdan" yeni bir yineleyici oluşturur.

Parametreler
TF Operasyon erişimcisi
çıktı Türleri Bir veri kümesi öğesinin her bileşeninin tensör türünü temsil eden sınıfların listesi.
çıktı Şekilleri Bir veri kümesi öğesinin her bir bileşeninin şeklini temsil eden Shape nesnelerinin listesi.
İadeler
  • Yeni bir DatasetIterator

genel Op getInitializer ()

genel İşlenen <?> getIteratorResource ()

genel Liste< İşlenen <?>> getNext ()

Sonraki veri kümesi öğesinin bileşenlerini temsil eden Operand<?> listesini döndürür.

Grafik modunda bu yöntemi bir kez çağırın ve sonucunu başka bir hesaplamaya girdi olarak kullanın. Daha sonra eğitim döngüsünde, session.run()'a yapılan ardışık çağrılarda, ardışık veri kümesi öğeleri bu bileşenler aracılığıyla alınacaktır.

İstekli modda, bu yöntem her çağrıldığında bir sonraki veri kümesi öğesi döndürülür. (Bu, 'Veri Kümesi'nin Java 'Yinelenebilir' olarak yinelenmesiyle otomatik olarak yapılır).

İadeler
  • Veri kümesi öğesi bileşenlerini temsil eden bir List<Operand<?>> .

public DatasetOptional getNextAsOptional ()

Sonraki veri kümesi öğesinin bileşenlerini temsil eden bir "DatasetOptional" döndürür.

İstekli modda, bu yöntem her çağrıldığında, sonraki veri kümesi öğesi "DatasetOptional" olarak döndürülür.

Bu seçeneğin bir değeri olup olmadığını kontrol etmek için 'DatasetOptional.hasValue' kullanın ve değeri almak için 'DatasetOptional.getValue' kullanın.

İadeler
  • Veri kümesi öğesi bileşenlerini temsil eden bir "DatasetOptional".

genel Operasyonlar getOpsInstance ()

public Yineleyici<Liste< İşlenen <?>>> yineleyici ()

public Op makeInitializer ( Veri kümesi veri kümesi)

Bu yineleyiciyi bir veri kümesinde başlatmak için çalıştırılabilecek bir TF `Op` oluşturur ve döndürür. Veri kümesinin bu yineleyiciyle eşleşen bir yapıya (outputTypes, OutputShapes) sahip olması ve bu yineleyiciyle aynı ExecutionEnvironment'ı paylaşması gerekir.

Bu 'Op' çalıştırıldığında, bu yineleyici, giriş veri kümesinin ilk öğesinde "yeniden başlatılacaktır".

İstekli modda, operasyon, 'makeIterator' çağrısının bir parçası olarak otomatik olarak çalıştırılacaktır.

Parametreler
veri kümesi Bu yineleyicinin başlatılacağı bir `org.tensorflow.data.Dataset`.
İadeler
  • Bu yineleyiciyi veri kümesinde başlatmak için kullanılabilecek bir TF "Op".
Atar
YasadışıTartışmaİstisna veri kümesinin ExecutionEnvironment'ı veya yapısı bu yineleyiciyle eşleşmiyorsa.