DatasetIterator

فئة DatasetIterator العامة
الفئات الفرعية المباشرة المعروفة

يمثل حالة التكرار من خلال مجموعة بيانات tf.data. DatasetIterator ليس java.util.Iterator. في الوضع المتحمس، يمكن استخدام "مجموعة البيانات" كمجموعة بيانات قابلة للتكرار، حيث يتم إرجاع عناصر مجموعة البيانات في كل تكرار.

مثال: التكرار في وضع الرسم البياني.

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

 }

مثال: التكرار في وضع حريص.

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

الثوابت

خيط EMPTY_SHARED_NAME

المقاولون العامون

DatasetIterator (Ops tf، Operand <?> iteratorResource، Op مهيأ، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)
DatasetIterator (Ops tf، Operand <?> iteratorResource، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)

الأساليب العامة

ثابت DatasetIterator
fromStructure (Ops tf، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)
ينشئ مكررًا جديدًا من "بنية" محددة بواسطة "outputShapes" و"outputTypes".
مرجع سابق
المعامل <؟>
القائمة< المعامل <?>>
الحصول على التالي ()
تُرجع قائمة من Operand<?> التي تمثل مكونات عنصر مجموعة البيانات التالي.
مجموعة البيانات اختيارية
getNextAsOptional ()
تُرجع "DatasetOptional" التي تمثل مكونات عنصر مجموعة البيانات التالي.
العمليات
التكرار<قائمة< المعامل <?>>>
مرجع سابق
makeInitializer (مجموعة بيانات مجموعة البيانات)
ينشئ ويعيد TF `Op` الذي يمكن تشغيله لتهيئة هذا المكرر على مجموعة بيانات.

الطرق الموروثة

الثوابت

السلسلة النهائية العامة الثابتة EMPTY_SHARED_NAME

قيمة ثابتة: ""

المقاولون العامون

DatasetIterator العامة (Ops tf، Operand <?> iteratorResource، OpInitializer ، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)

حدود
tf موصل العمليات المطابق لنفس "ExecutionEnvironment" مثل "iteratorResource".
iteratorResource معامل يمثل المكرِّر (على سبيل المثال، تم إنشاؤه من `tf.data.iterator` أو `tf.data.anonymousIterator`)
مُهيئ `Op` الذي يجب تشغيله لتهيئة هذا المكرر
أنواع الإخراج قائمة الفئات المقابلة لنوع الموتر لكل مكون من عناصر مجموعة البيانات.
com.outputShapes قائمة بكائنات "الشكل" المطابقة لأشكال كل مكون من عناصر مجموعة البيانات.

DatasetIterator العامة (Ops tf، Operand <?> iteratorResource، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)

الأساليب العامة

DatasetIterator العام الثابت من الهيكل (Ops tf، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)

ينشئ مكررًا جديدًا من "بنية" محددة بواسطة "outputShapes" و"outputTypes".

حدود
tf ملحق العمليات
أنواع الإخراج قائمة الفئات التي تمثل نوع الموتر لكل مكون من عنصر مجموعة البيانات.
com.outputShapes قائمة بكائنات الشكل التي تمثل شكل كل مكون من عناصر مجموعة البيانات.
عائدات
  • مكرر DatasetIterator جديد

العملية العامة getInitializer ()

المعامل العام <?> getIteratorResource ()

القائمة العامة< المعامل <?>> getNext ()

تُرجع قائمة من Operand<?> التي تمثل مكونات عنصر مجموعة البيانات التالي.

في وضع الرسم البياني، قم باستدعاء هذه الطريقة مرة واحدة، واستخدم نتيجتها كمدخل لعملية حسابية أخرى. بعد ذلك، في حلقة التدريب، عند الاستدعاءات المتتالية إلى session.run()، سيتم استرداد عناصر مجموعة البيانات المتعاقبة من خلال هذه المكونات.

في الوضع المتحمس، في كل مرة يتم فيها استدعاء هذه الطريقة، سيتم إرجاع عنصر مجموعة البيانات التالي. (يتم ذلك تلقائيًا عن طريق التكرار عبر `Dataset` باعتبارها Java `Iterable`).

عائدات
  • List<Operand<?>> تمثل مكونات عناصر مجموعة البيانات.

مجموعة البيانات العامة getNextAsOptional ()

تُرجع "DatasetOptional" التي تمثل مكونات عنصر مجموعة البيانات التالي.

في الوضع المتحمس، في كل مرة يتم فيها استدعاء هذه الطريقة، سيتم إرجاع عنصر مجموعة البيانات التالي كـ "DatasetOptional".

استخدم `DatasetOptional.hasValue` للتحقق مما إذا كان هذا الخيار الاختياري يحتوي على قيمة، و`DatasetOptional.getValue` لاسترداد القيمة.

عائدات
  • `DatasetOptional` يمثل مكونات عناصر مجموعة البيانات.

العمليات العامة getOpsInstance ()

مكرر عام<List< Operand <?>>> مكرر ()

Op makeInitializer العام (مجموعة بيانات مجموعة البيانات )

ينشئ ويعيد TF `Op` الذي يمكن تشغيله لتهيئة هذا المكرر على مجموعة بيانات. يجب أن تحتوي مجموعة البيانات على بنية (outputTypes وoutputShapes) تتطابق مع هذا المكرِّر، وتشترك في نفس بيئة التنفيذ مثل هذا المكرِّر.

عند تشغيل هذا `Op`، ستتم "إعادة تهيئة" هذا المكرر عند العنصر الأول من مجموعة بيانات الإدخال.

في الوضع المتحمس، سيتم تشغيل العملية تلقائيًا كجزء من استدعاء `makeIterator`.

حدود
dataset `org.tensorflow.data.Dataset` لتهيئة هذا المكرِّر.
عائدات
  • TF `Op` يمكن استخدامه لتهيئة هذا المكرر على مجموعة البيانات.
رميات
غير الشرعيين استثناء حجة إذا كانت بيئة التنفيذ أو البنية الخاصة بمجموعة البيانات لا تتطابق مع هذا المكرر.