ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

إضافات TensorFlow




TensorFlow Addons عبارة عن مستودع للمساهمات التي تتوافق مع أنماط API الراسخة ، ولكنها تنفذ وظائف جديدة غير متوفرة في TensorFlow الأساسي. يدعم TensorFlow في الأصل عددًا كبيرًا من المشغلين والطبقات والمقاييس والخسائر والمحسّنات. ومع ذلك ، في مجال سريع الحركة مثل ML ، هناك العديد من التطورات الجديدة المثيرة للاهتمام والتي لا يمكن دمجها في TensorFlow الأساسي (لأن قابلية تطبيقها الواسعة ليست واضحة بعد ، أو أنها تستخدم في الغالب من قبل مجموعة فرعية أصغر من المجتمع).

التركيب

أبنية مستقرة

لتثبيت أحدث إصدار ، قم بتشغيل ما يلي:

pip install tensorflow-addons

لاستخدام الوظائف الإضافية:

import tensorflow as tf
import tensorflow_addons as tfa

يبني ليلا

هناك أيضًا إصدارات ليلية من TensorFlow Addons ضمن حزمة النقطة tfa-nightly ، والتي تم إنشاؤها وفقًا لأحدث إصدار ثابت من TensorFlow. تتضمن الإصدارات الليلية ميزات أحدث ، ولكنها قد تكون أقل استقرارًا من الإصدارات التي تم إصدارها.

pip install tfa-nightly

التثبيت من المصدر

يمكنك أيضًا التثبيت من المصدر. هذا يتطلب نظام بناء Bazel .

git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_HOME="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl

المفاهيم الأساسية

API قياسي داخل الحزم الفرعية

تعد تجربة المستخدم وإمكانية صيانة المشروع من المفاهيم الأساسية في إضافات TF. من أجل تحقيق ذلك ، نطلب أن تتوافق إضافاتنا مع أنماط API المعمول بها في TensorFlow الأساسية.

GPU / CPU Custom-Ops

من الفوائد الرئيسية لـ TensorFlow Addons أن هناك عمليات مُجمَّعة مسبقًا. إذا لم يتم العثور على تثبيت CUDA 10 ، فسيعود المرجع تلقائيًا إلى تنفيذ وحدة المعالجة المركزية.

الوكيل صيانة

تم تصميم الإضافات لتقسيم الحزم الفرعية والوحدات الفرعية بحيث يمكن صيانتها من قبل المستخدمين الذين لديهم خبرة ومصلحة راسخة في هذا المكون.

لن يتم منح صيانة الحزمة الفرعية إلا بعد تقديم مساهمة كبيرة من أجل الحد من عدد المستخدمين الذين لديهم إذن كتابي. يمكن أن تأتي المساهمات في شكل إغلاق المشكلات أو إصلاح الأخطاء أو التوثيق أو التعليمات البرمجية الجديدة أو تحسين التعليمات البرمجية الحالية. يمكن منح صيانة الوحدة الفرعية بحاجز أقل للدخول لأن هذا لن يشمل أذونات الكتابة إلى الريبو.

لمزيد من المعلومات ، راجع RFC حول هذا الموضوع.

التقييم الدوري للعبوات الفرعية

نظرًا لطبيعة هذا المستودع ، قد تصبح الحزم الفرعية والوحدات الفرعية أقل فائدة للمجتمع مع مرور الوقت. من أجل الحفاظ على المستودع مستدامًا ، سنقوم بإجراء مراجعات نصف سنوية لشفرتنا للتأكد من أن كل شيء لا يزال ضمن الريبو. العوامل المساهمة في هذا الاستعراض ستكون:

  1. عدد المشرفين النشطين
  2. مقدار استخدام برمجيات المصدر المفتوح
  3. مقدار المشكلات أو الأخطاء المنسوبة إلى الكود
  4. إذا كان هناك حل أفضل متاح الآن

يمكن تصنيف الوظائف داخل TensorFlow Addons إلى ثلاث مجموعات:

  • اقترح : API جيدة الصيانة ؛ يتم تشجيع الاستخدام.
  • محبط : يوجد بديل أفضل ؛ يتم الاحتفاظ بـ API لأسباب تاريخية ؛ أو تتطلب واجهة برمجة التطبيقات الصيانة وهي فترة الانتظار التي سيتم إيقافها.
  • موقوف : استخدمه على مسؤوليتك الخاصة ؛ موضوع ليتم حذفه.

تغيير الحالة بين هذه المجموعات الثلاث هو: مقترح <-> محبط -> موقوف.

ستكون الفترة بين وضع علامة على واجهة برمجة التطبيقات كمتجاهلة وحذفها 90 يومًا. الأساس المنطقي:

  1. في حالة إصدار TensorFlow Addons شهريًا ، سيكون هناك 2-3 إصدارات قبل حذف API. ملاحظات الإصدار يمكن أن تعطي المستخدم تحذيرًا كافيًا.

  2. 90 يومًا يمنح المشرفين وقتًا كافيًا لإصلاح التعليمات البرمجية الخاصة بهم.

المساهمة

TF-Addons هو مشروع مفتوح المصدر يقوده المجتمع. على هذا النحو ، يعتمد المشروع على المساهمات العامة وإصلاحات الأخطاء والوثائق. يرجى الاطلاع على إرشادات المساهمة للحصول على دليل حول كيفية المساهمة. يلتزم هذا المشروع بقواعد السلوك الخاصة بـ TensorFlow . من خلال المشاركة ، من المتوقع أن تتمسك بهذا الرمز.

تواصل اجتماعي

رخصة

ترخيص Apache 2.0