DatasetIterator

מחלקה ציבורית DatasetIterator
תת-מחלקות ישירות ידועות

מייצג את המצב של איטרציה באמצעות Datset tf.data. DatasetIterator אינו java.util.Iterator. במצב להוט, 'מערך נתונים' יכול לשמש כ-Iterable, ומחזיר רכיבי מערך נתונים בכל איטרציה.

דוגמה: איטרציה במצב גרף.

// 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`.
אופ
אופרנד <?>
רשימה< Operand <?>>
getNext ()
מחזירה רשימה של Operand<?> המייצגת את הרכיבים של רכיב הנתונים הבא.
ערכת נתונים אופציונלית
getNextAsOptional ()
מחזירה 'DatasetOptional' המייצגת את הרכיבים של רכיב הנתונים הבא.
אופס
Iterator<List< Operand <?>>>
אופ
makeInitializer (מערך נתונים )
יוצר ומחזיר TF `Op` שניתן להפעיל כדי לאתחל את האיטרטור הזה על מערך נתונים.

שיטות בירושה

קבועים

מחרוזת סופית סטטית ציבורית EMPTY_SHARED_NAME

ערך קבוע: ""

בונים ציבוריים

Public DatasetIterator (Ops tf, Operand <?> iteratorResource, Op initializer, List<Class<? מרחיב את TType >> outputTypes, List< Shape > outputShapes)

פרמטרים
tf גישה ל-Ops המקבילה לאותה `ExecutionEnvironment` כמו `iteratorResource`.
iteratorResource אופרנד המייצג את האיטרטור (למשל בנוי מ-`tf.data.iterator` או `tf.data.anonymousIterator`)
אתחול 'Op' שיש להפעיל כדי לאתחל את האיטרטור הזה
outputTypes רשימה של מחלקות התואמות לסוג הטנזור של כל רכיב של רכיב מערך נתונים.
outputShapes רשימה של אובייקטי 'צורה' התואמים לצורות של כל רכיב של רכיב מערך נתונים.

Public 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 אביזר אופס
outputTypes רשימה של מחלקות המייצגות את סוג הטנזור של כל רכיב של רכיב מערך נתונים.
outputShapes רשימה של אובייקטי Shape המייצגים את הצורה של כל רכיב של רכיב מערך נתונים.
החזרות
  • DatasetIterator חדש

public Op getInitializer ()

Open Operand <?> getIteratorResource ()

רשימה ציבורית< Operand <?>> getNext ()

מחזירה רשימה של Operand<?> המייצגת את הרכיבים של רכיב הנתונים הבא.

במצב גרף, קרא לשיטה זו פעם אחת, והשתמש בתוצאה שלה כקלט לחישוב אחר. לאחר מכן, בלולאת האימון, בקריאות עוקבות אל session.run(), רכיבי מערך נתונים עוקבים יאחזרו דרך רכיבים אלה.

במצב להוט, בכל פעם שקוראים לשיטה זו, יוחזר רכיב הנתונים הבא. (זה נעשה באופן אוטומטי על ידי איטרציה דרך `Dataset` כ-Java `Iterable`).

החזרות
  • List<Operand<?>> המייצגת רכיבי רכיבי נתונים.

ערכת נתונים ציבוריים אופציונלי getNextAsOptional ()

מחזירה 'DatasetOptional' המייצגת את הרכיבים של רכיב הנתונים הבא.

במצב להוט, בכל פעם שקוראים לשיטה זו, רכיב הנתונים הבא יוחזר כ-'DatasetOptional'.

השתמש ב-'DatasetOptional.hasValue' כדי לבדוק אם לאופציונלי זה יש ערך, וב-'DatasetOptional.getValue' כדי לאחזר את הערך.

החזרות
  • `DatasetOptional` המייצג רכיבי רכיבי נתונים.

Public Ops getOpsInstance ()

איטרטור ציבורי<List< Operand <?>>> איטרטור ()

public Op makeInitializer (מערך נתונים )

יוצר ומחזיר TF `Op` שניתן להפעיל כדי לאתחל את האיטרטור הזה על מערך נתונים. למערך הנתונים חייב להיות מבנה (outputTypes, outputShapes) התואם איטרטור זה, ולחלוק את אותה ExecutionEnvironment כמו איטרטור זה.

כאשר `Op` זה מופעל, האיטרטור הזה "יאוחל מחדש" ברכיב הראשון של מערך הקלט.

במצב להוט, ה-op יופעל אוטומטית כחלק מקריאה ל-'makeIterator'.

פרמטרים
מערך נתונים `org.tensorflow.data.Dataset` לאתחול איטרטור זה.
החזרות
  • TF `Op` שניתן להשתמש בו כדי לאתחל איטרטור זה במערך הנתונים.
זורק
חריג טיעון לא חוקי אם ה-ExecutionEnvironment או המבנה של מערך הנתונים אינם תואמים את האיטרטור הזה.