زیر کلاس های مستقیم شناخته شده |
حالت یک تکرار را از طریق 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 fromStructure (Ops tf، List<Class<? TType >> outputTypes، List< Shape > outputShapes را گسترش می دهد.
یک تکرار کننده جدید از یک "ساختار" تعریف شده توسط "outputShapes" و "outputTypes" ایجاد می کند.
مولفه های
tf | دسترسی عملیات |
---|---|
انواع خروجی | فهرستی از کلاسهایی که نوع تانسور هر جزء از یک عنصر مجموعه داده را تکرار میکنند. |
خروجی شکل ها | لیستی از اشیاء Shape که شکل هر جزء از یک عنصر مجموعه داده را نشان می دهد. |
برمی گرداند
- یک DatasetIterator جدید
فهرست عمومی< عملوند <?>> getNext ()
فهرستی از Operand<?>
را برمیگرداند که مؤلفههای عنصر مجموعه بعدی را نشان میدهد.
در حالت نمودار، یک بار این متد را فراخوانی کنید و از نتیجه آن به عنوان ورودی برای محاسبات دیگر استفاده کنید. سپس در حلقه آموزشی، در فراخوانی های متوالی به session.run()، عناصر مجموعه متوالی از طریق این مؤلفه ها بازیابی می شوند.
در حالت مشتاق، هر بار که این متد فراخوانی شود، عنصر مجموعه داده بعدی برگردانده می شود. (این به طور خودکار با تکرار از طریق «Dataset» به عنوان «تکرارپذیر» جاوا انجام می شود).
برمی گرداند
- یک
List<Operand<?>>
که مؤلفه های عنصر مجموعه را نشان می دهد.
عمومی DatasetOptional getNextAsOptional ()
یک «DatasetOptional» را برمیگرداند که مؤلفههای عنصر مجموعه بعدی را نشان میدهد.
در حالت مشتاق، هر بار که این متد فراخوانی می شود، عنصر مجموعه داده بعدی به عنوان «DatasetOptional» برگردانده می شود.
از «DatasetOptional.hasValue» برای بررسی اینکه آیا این اختیاری دارای مقدار است و از «DatasetOptional.getValue» برای بازیابی مقدار استفاده کنید.
برمی گرداند
- «DatasetOptional» که مؤلفههای عنصر مجموعه را نشان میدهد.
عمومی Ops getOpsInstance ()
public Op makeInitializer (مجموعه داده )
یک TF 'Op' ایجاد و برمی گرداند که می تواند برای مقداردهی اولیه این تکرار کننده در یک مجموعه داده اجرا شود. مجموعه داده باید ساختاری (outputTypes، outputShapes) داشته باشد که با این تکرارکننده مطابقت داشته باشد و همان ExecutionEnvironment را با این تکرارکننده به اشتراک بگذارد.
هنگامی که این "Op" اجرا می شود، این تکرار کننده در اولین عنصر مجموعه داده ورودی "دوباره راه اندازی" می شود.
در حالت مشتاق، عملیات به صورت خودکار به عنوان بخشی از تماس با "makeIterator" اجرا می شود.
مولفه های
مجموعه داده | یک «org.tensorflow.data.Dataset» برای مقداردهی اولیه این تکرارکننده. |
---|
برمی گرداند
- یک «Op» TF که می تواند برای مقداردهی اولیه این تکرارکننده در مجموعه داده استفاده شود.
پرتاب می کند
IllegalArgumentException | اگر ExecutionEnvironment یا ساختار مجموعه داده با این تکرارکننده مطابقت نداشته باشد. |
---|