DatasetIterator

DatasetIterator kelas publik
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 <?>>>
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

Nilai konstan: ""

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.

DatasetIterator publik (Ops tf, Operan <?> iteratorResource, Daftar<Kelas<? extends TType >> tipe keluaran, Daftar< Bentuk > bentuk keluaran)

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

Op publik getInitializer ()

Operan publik <?> getIteratorResource ()

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

Iterator publik<Daftar< Operan <?>>> iterator ()

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.