بيئة لتنفيذ عمليات TensorFlow بفارغ الصبر.
يعد التنفيذ الحريص بيئة برمجة حتمية تقوم بتقييم العمليات على الفور، دون إنشاء رسوم بيانية. تقوم العمليات بإرجاع قيم محددة بدلاً من إنشاء رسم بياني حسابي لتشغيله لاحقًا، كما هو الحال مع Graph
و Session
.
وهذا يجعل من السهل التطوير باستخدام TensorFlow ونماذج تصحيح الأخطاء، لأنه يتصرف مثل مكتبة برمجة قياسية.
تعتبر مثيلات EagerSession
آمنة لمؤشر الترابط.
فئات متداخلة
التعداد | EagerSession.DevicePlacementPolicy | يتحكم في كيفية التصرف عندما نحاول تشغيل عملية على جهاز معين ولكن بعض موترات الإدخال غير موجودة على هذا الجهاز. | |
فصل | EagerSession.Options | ||
التعداد | EagerSession.ResourceCleanupStrategy | يتحكم في كيفية تنظيف موارد TensorFlow عندما لا تكون هناك حاجة إليها. |
الأساليب العامة
الفراغ المتزامن | يغلق () |
جلسة إيجر ثابتة | يخلق () إرجاع EagerSession التي تم تكوينها بالخيارات الافتراضية. |
جلسة إيجر ثابتة | |
جلسة إيجر ثابتة | initDefault (خيارات EagerSession.Options ) تهيئة جلسة العمل الافتراضية، والتي تظل نشطة طوال عمر التطبيق. |
OperationBuilder | |
ثابت EagerSession.Options | خيارات () إرجاع كائن يقوم بتكوين EagerSession وإنشائه بخيارات مخصصة. |
الطرق الموروثة
الأساليب العامة
إغلاق الفراغ المتزامن العام ()
إنشاء EagerSession العام الثابت ()
إرجاع EagerSession
التي تم تكوينها بالخيارات الافتراضية.
تحذير: يجب تحرير مثيلات EagerSession
التي يتم إرجاعها بهذه الطريقة بشكل صريح عن طريق استدعاء close()
عندما لا تكون هناك حاجة إليها. يمكن تحقيق ذلك باستخدام تقنية "التجربة باستخدام الموارد".
مثال على الاستخدام:
try (EagerSession session = EagerSession.create()) {
Ops tf = Ops.create(session);
// build execute operations eagerly...
}
getDefault () EagerSession الثابت العام
إرجاع جلسة حريصة الافتراضية
بمجرد التهيئة، تظل الجلسة النشطة الافتراضية نشطة طوال عمر التطبيق، على عكس الجلسات التي يتم الحصول عليها من create()
أو build()
والتي يجب إغلاقها بعد استخدامها.
يتم استخدام المجموعة الافتراضية لـ EagerSession.Options
لتهيئة الجلسة عند المكالمة الأولى. لتجاوز هذا السلوك، من الممكن استدعاء initDefault(Options)
بمجموعة مختلفة من الخيارات قبل هذا الاستدعاء الأول.
مثال على الاستخدام:
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() explicitly
Ops tf = Ops.create(EagerSession.getDefault());
المرتجعات
- جلسة حريصة الافتراضية
انظر أيضا
IagerSession الثابت العام initDefault (خيارات EagerSession.Options )
تهيئة جلسة العمل الافتراضية، والتي تظل نشطة طوال عمر التطبيق.
يتم استدعاء هذا التابع ضمنيًا عند الاستدعاء الأول للتابع getDefault()
، ولكن يمكن أيضًا استدعاؤه بشكل صريح لتجاوز الخيارات الافتراضية.
لاحظ أن استدعاء هذا الأسلوب أكثر من مرة سيؤدي إلى ظهور IllegalArgumentException
حيث لا يمكن تعديل الجلسة الافتراضية بمجرد إنشائها. لذلك، من المهم تهيئته بشكل صريح قبل استدعاء getDefault()
لأول مرة من أي مؤشر ترابط.
مثال على الاستخدام:
// Initializing default session to override default options is valid but
// is optional
EagerSession.initDefault(EagerSession.options().async(true));
// Starting to build eager operations using default session, by calling
// EagerSession.getDefault() implicitly
Ops tf = Ops.create();
// Initializing default session more than once or after using it is not
// permitted and throws an exception
EagerSession.initDefault(EagerSession.options().async(true)); // throws
حدود
خيارات | خيارات لاستخدامها لبناء الجلسة الافتراضية |
---|
المرتجعات
- جلسة حريصة الافتراضية
رميات
IllegalStateException | إذا تمت تهيئة الجلسة الافتراضية بالفعل |
---|
انظر أيضا
OperationBuilder العامة opBuilder (نوع السلسلة، اسم السلسلة)
إرجاع منشئ لإنشاء Operation
جديدة.
حدود
يكتب | العملية (أي يحدد الحساب الذي سيتم تنفيذه) |
---|---|
اسم | للإشارة إلى العملية التي تم إنشاؤها في نطاق البيئة هذا. |
المرتجعات
-
OperationBuilder
لإنشاء عملية عند استدعاءbuild()
. إذا لم يتم استدعاءbuild()
، فقد تتسرب بعض الموارد.
خيارات EagerSession.Options العامة الثابتة ()
إرجاع كائن يقوم بتكوين EagerSession
وإنشائه بخيارات مخصصة.
تحذير: يجب تحرير مثيلات EagerSession
التي يتم إرجاعها بهذه الطريقة بشكل صريح عن طريق استدعاء close()
عندما لا تكون هناك حاجة إليها. يمكن تحقيق ذلك باستخدام تقنية "التجربة باستخدام الموارد".
مثال على الاستخدام:
try (EagerSession session = EagerSession.options().async(true).build()) {
Ops tf = Ops.create(session);
// build execute operations eagerly and asynchronously...
}