Transformers documentation
التسجيل
التسجيل
🤗 يحتوي Transformers على نظام تسجيل مركزي، مما يتيح لك ضبط مستوى تفصيل مكتبة Transformers بسهولة.
حاليًا، مستوى التفصيل الافتراضي للمكتبة هو WARNING.
لتغيير مستوى التفصيل، استخدم أحد الإعدادات المباشرة. على سبيل المثال، إليك كيفية تغيير مستوى التفصيل إلى مستوى INFO.
import transformers
transformers.logging.set_verbosity_info()يمكنك أيضًا استخدام متغير البيئة TRANSFORMERS_VERBOSITY لتجاوز مستوى التفصيل الافتراضي. يمكنك ضبطه على أحد القيم التالية: debug، info، warning، error، critical، fatal. على سبيل المثال:
TRANSFORMERS_VERBOSITY=error ./myprogram.py
بالإضافة إلى ذلك، يمكن تعطيل بعض warnings عن طريق تعيين متغير البيئة TRANSFORMERS_NO_ADVISORY_WARNINGS إلى قيمة صحيحة، مثل 1. سيؤدي هذا إلى تعطيل أي تحذير يتم تسجيله باستخدام logger.warning_advice. على سبيل المثال:
TRANSFORMERS_NO_ADVISORY_WARNINGS=1 ./myprogram.py
فيما يلي مثال على كيفية استخدام نفس المسجّل الذي تستخدمه المكتبة في وحدة أو سكربت خاص بك:
from transformers.utils import logging
logging.set_verbosity_info()
logger = logging.get_logger("transformers")
logger.info("INFO")
logger.warning("WARN")جميع طرق وحدة التسجيل هذه موثقة أدناه، وأهمها logging.get_verbosity() للحصول على مستوى التفصيل الحالي في السجل، وlogging.set_verbosity() لضبط مستوى التفصيل إلى المستوى الذي تختاره. وبالترتيب (من الأقل تفصيلاً إلى الأكثر تفصيلاً)، تكون هذه المستويات (مع قيمها الرقمية المقابلة بين قوسين) كالتالي:
transformers.logging.CRITICALأوtransformers.logging.FATAL(قيمة عددية، 50): الإبلاغ عن الأخطاء الأكثر حرجة فقط.transformers.logging.ERROR(قيمة عددية، 40): الإبلاغ عن الأخطاء فقط.transformers.logging.WARNINGأوtransformers.logging.WARN(قيمة عددية، 30): يُبلّغ عن الأخطاء والتحذيرات فقط. هذا هو المستوى الافتراضي المستخدم في المكتبة.transformers.logging.INFO(قيمة عددية، 20): يُبلغ عن الأخطاء والتنبيهات والمعلومات الأساسية.transformers.logging.DEBUG(قيمة عددية، 10): الإبلاغ عن جميع المعلومات.
بشكل افتراضي، ستظهر أشرطة تقدم tqdm أثناء تنزيل النموذج. يمكن استخدام logging.disable_progress_bar() و logging.enable_progress_bar() لكبح هذا السلوك أو إلغاء كبحه.
التسجيل مقابل التحذيرات
يوجد في Python نظامان للتسجيل يُستخدمان غالبًا معًا: logging، الذي تم شرحه أعلاه، وwarnings،
والذي يتيح تصنيف التحذيرات في فئات محددة، مثل FutureWarning لميزة أو مسار تم إيقافه بالفعل، وDeprecationWarning للإشارة إلى إيقاف قادم.
نستخدم كلاهما في مكتبة transformers. نستفيد من طريقة captureWarnings في logging ونُكيّفها للسماح بإدارة رسائل التحذير هذه من خلال مُعيّنات مستوى التفصيل المذكورة أعلاه.
ماذا يعني ذلك لمطوّري المكتبة؟ يجب علينا احترام القواعد الإرشادية التالية:
- يجب تفضيل
warningsلمطوّري المكتبة والمكتبات المعتمدة علىtransformers - يجب استخدام
loggingللمستخدمين النهائيين للمكتبة الذين يستخدمونها في مشاريعهم اليومية
انظر إلى مرجع طريقة captureWarnings أدناه.
يستدعي طريقة captureWarnings من مكتبة التسجيل لتفعيل إدارة التحذيرات التي تصدرها مكتبة warnings.
Read more about this method here: https://docs.python.org/3/library/logging.html#integration-with-the-warnings-module
ستُسجَّل جميع التحذيرات عبر مسجّل py.warnings.
انتبه: تضيف هذه الطريقة أيضًا معالجًا لهذا المسجّل إذا لم يكن لديه معالج بالفعل، وتحديث مستوى التسجيل لذلك المسجّل إلى المسجّل الجذري للمكتبة.
المُعيّنات الأساسية
اضبط مستوى التفصيل على مستوى ERROR.
اضبط مستوى التفصيل على مستوى WARNING.
اضبط مستوى التفصيل على مستوى INFO.
اضبط مستوى التفصيل على مستوى DEBUG.
دوال أخرى
أعد المستوى الحالي لسجل الجذر الخاص بـ 🤗 Transformers كعدد صحيح.
تتوفر في 🤗 Transformers مستويات تسجيل التالية:
- 50:
transformers.logging.CRITICALأوtransformers.logging.FATAL- 40:
transformers.logging.ERROR- 30:
transformers.logging.WARNINGأوtransformers.logging.WARN- 20:
transformers.logging.INFO- 10:
transformers.logging.DEBUG
transformers.utils.logging.set_verbosity
< source >( verbosity: int )
اضبط مستوى التفصيل الخاص بسجّال الجذر الخاص بـ 🤗 Transformers.
إرجاع مسجّل (logger) بالاسم المحدد.
لا يُفترض الوصول إلى هذه الدالة مباشرةً ما لم تكن تكتب وحدة transformers مخصصة.
فعّل المعالج الافتراضي لسجّال الجذر الخاص بـ HuggingFace Transformers.
عطّل المُعالِج الافتراضي لسجّال الجذر الخاص بـ HuggingFace Transformers.
يعيد تعيين تنسيق مسجلات HuggingFace Transformers.
تتأثر جميع المعالجات المرتبطة حاليًا بسجّال الجذر (root logger) بهذه الطريقة.
تفعيل شريط تقدّم tqdm.
تعطيل شريط تقدم tqdm.