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 <?>>> | yineleyici () |
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
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. |
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 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 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. |
---|