DatasetIterator

کلاس عمومی DatasetIterator
زیر کلاس های مستقیم شناخته شده

حالت یک تکرار را از طریق tf.data Datset نشان می دهد. 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 Initializer، 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" ایجاد می کند.
Op
عملوند <?>
فهرست< عملوند <?>>
getNext ()
فهرستی از Operand<?> را برمی‌گرداند که مؤلفه‌های عنصر مجموعه بعدی را نشان می‌دهد.
DatasetOptional
getNextAsOptional ()
یک «DatasetOptional» را برمی‌گرداند که مؤلفه‌های عنصر مجموعه بعدی را نشان می‌دهد.
عملیات
Iterator<List< Operand <?>>>
Op
makeInitializer ( داده مجموعه داده)
یک TF 'Op' ایجاد و برمی گرداند که می تواند برای مقداردهی اولیه این تکرار کننده در یک مجموعه داده اجرا شود.

روش های ارثی

ثابت ها

رشته نهایی ثابت عمومی EMPTY_SHARED_NAME

مقدار ثابت: ""

سازندگان عمومی

عمومی DatasetIterator (Ops tf، Operand <?> iteratorResource، Op Initialzer، List<Class<? گسترش TType >> outputTypes، List< Shape > outputShapes)

مولفه های
tf دسترسی عملیاتی مربوط به همان "ExecutionEnvironment" به عنوان "iteratorResource".
iteratorResource عملوندی که تکرار کننده را نشان می دهد (به عنوان مثال ساخته شده از "tf.data.iterator" یا "tf.data.anonymousIterator")
مقداردهی اولیه یک «Op» که باید برای مقداردهی اولیه این تکرارکننده اجرا شود
انواع خروجی فهرستی از کلاس های مربوط به نوع تانسور هر جزء از یک عنصر مجموعه داده.
خروجی شکل ها فهرستی از اشیاء «شکل» مربوط به اشکال هر جزء از یک عنصر مجموعه داده.

عمومی 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" ایجاد می کند.

مولفه های
tf دسترسی عملیات
انواع خروجی فهرستی از کلاس‌هایی که نوع تانسور هر جزء از یک عنصر مجموعه داده را تکرار می‌کنند.
خروجی شکل ها لیستی از اشیاء Shape که شکل هر جزء از یک عنصر مجموعه داده را نشان می دهد.
برمی گرداند
  • یک DatasetIterator جدید

عمومی Op getInitializer ()

عملگر عمومی <?> getIteratorResource ()

فهرست عمومی< عملوند <?>> getNext ()

فهرستی از Operand<?> را برمی‌گرداند که مؤلفه‌های عنصر مجموعه بعدی را نشان می‌دهد.

در حالت نمودار، یک بار این متد را فراخوانی کنید و از نتیجه آن به عنوان ورودی برای محاسبات دیگر استفاده کنید. سپس در حلقه آموزشی، در فراخوانی های متوالی به session.run()، عناصر مجموعه متوالی از طریق این مؤلفه ها بازیابی می شوند.

در حالت مشتاق، هر بار که این متد فراخوانی شود، عنصر مجموعه داده بعدی برگردانده می شود. (این به طور خودکار با تکرار از طریق «Dataset» به عنوان «تکرارپذیر» جاوا انجام می شود).

برمی گرداند
  • یک List<Operand<?>> که مؤلفه های عنصر مجموعه را نشان می دهد.

عمومی DatasetOptional getNextAsOptional ()

یک «DatasetOptional» را برمی‌گرداند که مؤلفه‌های عنصر مجموعه بعدی را نشان می‌دهد.

در حالت مشتاق، هر بار که این متد فراخوانی می شود، عنصر مجموعه داده بعدی به عنوان «DatasetOptional» برگردانده می شود.

از «DatasetOptional.hasValue» برای بررسی اینکه آیا این اختیاری دارای مقدار است و از «DatasetOptional.getValue» برای بازیابی مقدار استفاده کنید.

برمی گرداند
  • «DatasetOptional» که مؤلفه‌های عنصر مجموعه را نشان می‌دهد.

عمومی Ops getOpsInstance ()

عمومی Iterator<List< Operand <?>>> Iterator ()

public Op makeInitializer (مجموعه داده )

یک TF 'Op' ایجاد و برمی گرداند که می تواند برای مقداردهی اولیه این تکرار کننده در یک مجموعه داده اجرا شود. مجموعه داده باید ساختاری (outputTypes، outputShapes) داشته باشد که با این تکرارکننده مطابقت داشته باشد و همان ExecutionEnvironment را با این تکرارکننده به اشتراک بگذارد.

هنگامی که این "Op" اجرا می شود، این تکرار کننده در اولین عنصر مجموعه داده ورودی "دوباره راه اندازی" می شود.

در حالت مشتاق، عملیات به صورت خودکار به عنوان بخشی از تماس با "makeIterator" اجرا می شود.

مولفه های
مجموعه داده یک «org.tensorflow.data.Dataset» برای مقداردهی اولیه این تکرارکننده.
برمی گرداند
  • یک «Op» TF که می تواند برای مقداردهی اولیه این تکرارکننده در مجموعه داده استفاده شود.
پرتاب می کند
IllegalArgumentException اگر ExecutionEnvironment یا ساختار مجموعه داده با این تکرارکننده مطابقت نداشته باشد.