الفئات الفرعية المباشرة المعروفة |
يمثل حالة التكرار من خلال مجموعة بيانات 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، List<Class<؟ يمتد TType >>outputTypes، List <Shape> outputShapes)
ينشئ مكررًا جديدًا من "بنية" محددة بواسطة "outputShapes" و"outputTypes".
حدود
tf | ملحق العمليات |
---|---|
أنواع الإخراج | قائمة الفئات التي تمثل نوع الموتر لكل مكون من عنصر مجموعة البيانات. |
com.outputShapes | قائمة بكائنات الشكل التي تمثل شكل كل مكون من عناصر مجموعة البيانات. |
عائدات
- مكرر DatasetIterator جديد
القائمة العامة< المعامل <?>> getNext ()
تُرجع قائمة من Operand<?>
التي تمثل مكونات عنصر مجموعة البيانات التالي.
في وضع الرسم البياني، قم باستدعاء هذه الطريقة مرة واحدة، واستخدم نتيجتها كمدخل لعملية حسابية أخرى. بعد ذلك، في حلقة التدريب، عند الاستدعاءات المتتالية إلى session.run()، سيتم استرداد عناصر مجموعة البيانات المتعاقبة من خلال هذه المكونات.
في الوضع المتحمس، في كل مرة يتم فيها استدعاء هذه الطريقة، سيتم إرجاع عنصر مجموعة البيانات التالي. (يتم ذلك تلقائيًا عن طريق التكرار عبر `Dataset` باعتبارها Java `Iterable`).
عائدات
-
List<Operand<?>>
تمثل مكونات عناصر مجموعة البيانات.
مجموعة البيانات العامة getNextAsOptional ()
تُرجع "DatasetOptional" التي تمثل مكونات عنصر مجموعة البيانات التالي.
في الوضع المتحمس، في كل مرة يتم فيها استدعاء هذه الطريقة، سيتم إرجاع عنصر مجموعة البيانات التالي كـ "DatasetOptional".
استخدم `DatasetOptional.hasValue` للتحقق مما إذا كان هذا الخيار الاختياري يحتوي على قيمة، و`DatasetOptional.getValue` لاسترداد القيمة.
عائدات
- `DatasetOptional` يمثل مكونات عناصر مجموعة البيانات.
العمليات العامة getOpsInstance ()
Op makeInitializer العام (مجموعة بيانات مجموعة البيانات )
ينشئ ويعيد TF `Op` الذي يمكن تشغيله لتهيئة هذا المكرر على مجموعة بيانات. يجب أن تحتوي مجموعة البيانات على بنية (outputTypes وoutputShapes) تتطابق مع هذا المكرِّر، وتشترك في نفس بيئة التنفيذ مثل هذا المكرِّر.
عند تشغيل هذا `Op`، ستتم "إعادة تهيئة" هذا المكرر عند العنصر الأول من مجموعة بيانات الإدخال.
في الوضع المتحمس، سيتم تشغيل العملية تلقائيًا كجزء من استدعاء `makeIterator`.
حدود
dataset | `org.tensorflow.data.Dataset` لتهيئة هذا المكرِّر. |
---|
عائدات
- TF `Op` يمكن استخدامه لتهيئة هذا المكرر على مجموعة البيانات.
رميات
غير الشرعيين استثناء حجة | إذا كانت بيئة التنفيذ أو البنية الخاصة بمجموعة البيانات لا تتطابق مع هذا المكرر. |
---|