Subkelas Langsung yang Diketahui |
Mewakili keadaan iterasi melalui tf.data Datset. DatasetIterator bukan java.util.Iterator. Dalam mode bersemangat, `Dataset` dapat digunakan sebagai Iterable, yang mengembalikan elemen dataset setiap iterasi.
Contoh: Iterasi dalam mode grafik.
// 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;
}
}
}
}
Contoh: Iterasi dalam mode bersemangat.
// 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);
}
Konstanta
Rangkaian | KOSONG_SHARE_NAME |
Konstruktor Publik
DatasetIterator (Ops tf, Operan <?> iteratorResource, Penginisialisasi Op , Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran) | |
DatasetIterator (Ops tf, Operan <?> iteratorResource, Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran) |
Metode Publik
DatasetIterator statis | fromStructure (Ops tf, Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran) Membuat iterator baru dari "struktur" yang ditentukan oleh `outputShapes` dan `outputTypes`. |
hal | |
Operan <?> | |
Daftar< Operan <?>> | dapatkan Berikutnya () Mengembalikan daftar Operand<?> yang mewakili komponen elemen kumpulan data berikutnya. |
Kumpulan DataOpsional | dapatkanBerikutnyaSebagaiOpsional () Mengembalikan `DatasetOpsional` yang mewakili komponen elemen kumpulan data berikutnya. |
Operasi | |
Iterator<Daftar< Operan <?>>> | pengulangan () |
hal | makeInitializer ( Kumpulan data kumpulan data ) Membuat dan mengembalikan TF `Op` yang dapat dijalankan untuk menginisialisasi iterator ini pada kumpulan data. |
Metode Warisan
Konstanta
String akhir statis publik EMPTY_SHARED_NAME
Konstruktor Publik
DatasetIterator publik (Ops tf, Operan <?> iteratorResource, Penginisialisasi Op , Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran)
Parameter
tf | Pengakses operasi yang sesuai dengan `ExecutionEnvironment` yang sama dengan `iteratorResource`. |
---|---|
sumber daya iterator | Operan yang mewakili iterator (misalnya dibuat dari `tf.data.iterator` atau `tf.data.anonymousIterator`) |
penginisialisasi | Sebuah `Op` yang harus dijalankan untuk menginisialisasi iterator ini |
Tipe keluaran | Daftar kelas yang sesuai dengan tipe tensor setiap komponen elemen kumpulan data. |
bentuk keluaran | Daftar objek `Bentuk` yang sesuai dengan bentuk setiap komponen elemen kumpulan data. |
Metode Publik
DatasetIterator statis publik dariStructure (Ops tf, Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran)
Membuat iterator baru dari "struktur" yang ditentukan oleh `outputShapes` dan `outputTypes`.
Parameter
tf | Aksesor operasi |
---|---|
Tipe keluaran | Daftar kelas yang mewakili tipe tensor setiap komponen elemen kumpulan data. |
bentuk keluaran | Daftar objek Bentuk yang mewakili bentuk setiap komponen elemen kumpulan data. |
Kembali
- DatasetIterator baru
Daftar publik< Operan <?>> getNext ()
Mengembalikan daftar Operand<?>
yang mewakili komponen elemen kumpulan data berikutnya.
Dalam mode grafik, panggil metode ini satu kali, dan gunakan hasilnya sebagai masukan untuk perhitungan lain. Kemudian dalam loop pelatihan, pada panggilan berturut-turut ke session.run(), elemen kumpulan data berturut-turut akan diambil melalui komponen ini.
Dalam mode bersemangat, setiap kali metode ini dipanggil, elemen kumpulan data berikutnya akan dikembalikan. (Ini dilakukan secara otomatis dengan melakukan iterasi melalui `Dataset` sebagai `Iterable` Java).
Kembali
-
List<Operand<?>>
yang mewakili komponen elemen kumpulan data.
Kumpulan DataOpsional publik getNextAsOptional ()
Mengembalikan `DatasetOpsional` yang mewakili komponen elemen kumpulan data berikutnya.
Dalam mode bersemangat, setiap kali metode ini dipanggil, elemen kumpulan data berikutnya akan dikembalikan sebagai `DatasetOpsional`.
Gunakan `DatasetOptional.hasValue` untuk memeriksa apakah opsional ini memiliki nilai, dan `DatasetOptional.getValue` untuk mengambil nilainya.
Kembali
- `DatasetOpsional` yang mewakili komponen elemen kumpulan data.
getOpsInstance Operasi publik ()
Operasi publik makeInitializer ( Kumpulan data kumpulan data )
Membuat dan mengembalikan TF `Op` yang dapat dijalankan untuk menginisialisasi iterator ini pada kumpulan data. Himpunan data harus memiliki struktur (outputTypes, outputShapes) yang cocok dengan iterator ini, dan berbagi ExecutionEnvironment yang sama dengan iterator ini.
Saat `Op` ini dijalankan, iterator ini akan "diinisialisasi ulang" pada elemen pertama kumpulan data masukan.
Dalam mode bersemangat, operasi akan dijalankan secara otomatis sebagai bagian dari panggilan ke `makeIterator`.
Parameter
Himpunan data | `org.tensorflow.data.Dataset` untuk menginisialisasi iterator ini. |
---|
Kembali
- TF `Op` yang dapat digunakan untuk menginisialisasi iterator ini pada kumpulan data.
Melempar
Pengecualian Argumen Ilegal | jika ExecutionEnvironment atau struktur kumpulan data tidak cocok dengan iterator ini. |
---|