תת-מחלקות ישירות ידועות |
מייצג את המצב של איטרציה באמצעות 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 | רשימה של אובייקטי 'צורה' התואמים לצורות של כל רכיב של רכיב מערך נתונים. |
שיטות ציבוריות
סטטי DatasetIterator fromStructure (Ops tf, List<Class<? מרחיב את TType >> outputTypes, List< Shape > outputShapes)
יוצר איטרטור חדש מ"מבנה" המוגדר על ידי `outputShapes` ו`outputTypes`.
פרמטרים
tf | אביזר אופס |
---|---|
outputTypes | רשימה של מחלקות המייצגות את סוג הטנזור של כל רכיב של רכיב מערך נתונים. |
outputShapes | רשימה של אובייקטי Shape המייצגים את הצורה של כל רכיב של רכיב מערך נתונים. |
החזרות
- DatasetIterator חדש
רשימה ציבורית< Operand <?>> getNext ()
מחזירה רשימה של Operand<?>
המייצגת את הרכיבים של רכיב הנתונים הבא.
במצב גרף, קרא לשיטה זו פעם אחת, והשתמש בתוצאה שלה כקלט לחישוב אחר. לאחר מכן, בלולאת האימון, בקריאות עוקבות אל session.run(), רכיבי מערך נתונים עוקבים יאחזרו דרך רכיבים אלה.
במצב להוט, בכל פעם שקוראים לשיטה זו, יוחזר רכיב הנתונים הבא. (זה נעשה באופן אוטומטי על ידי איטרציה דרך `Dataset` כ-Java `Iterable`).
החזרות
-
List<Operand<?>>
המייצגת רכיבי רכיבי נתונים.
ערכת נתונים ציבוריים אופציונלי getNextAsOptional ()
מחזירה 'DatasetOptional' המייצגת את הרכיבים של רכיב הנתונים הבא.
במצב להוט, בכל פעם שקוראים לשיטה זו, רכיב הנתונים הבא יוחזר כ-'DatasetOptional'.
השתמש ב-'DatasetOptional.hasValue' כדי לבדוק אם לאופציונלי זה יש ערך, וב-'DatasetOptional.getValue' כדי לאחזר את הערך.
החזרות
- `DatasetOptional` המייצג רכיבי רכיבי נתונים.
Public Ops getOpsInstance ()
public Op makeInitializer (מערך נתונים )
יוצר ומחזיר TF `Op` שניתן להפעיל כדי לאתחל את האיטרטור הזה על מערך נתונים. למערך הנתונים חייב להיות מבנה (outputTypes, outputShapes) התואם איטרטור זה, ולחלוק את אותה ExecutionEnvironment כמו איטרטור זה.
כאשר `Op` זה מופעל, האיטרטור הזה "יאוחל מחדש" ברכיב הראשון של מערך הקלט.
במצב להוט, ה-op יופעל אוטומטית כחלק מקריאה ל-'makeIterator'.
פרמטרים
מערך נתונים | `org.tensorflow.data.Dataset` לאתחול איטרטור זה. |
---|
החזרות
- TF `Op` שניתן להשתמש בו כדי לאתחל איטרטור זה במערך הנתונים.
זורק
חריג טיעון לא חוקי | אם ה-ExecutionEnvironment או המבנה של מערך הנתונים אינם תואמים את האיטרטור הזה. |
---|