التثبيت (Installation)
قم بتثبيت مكتبة 🤗 Transformers المناسبة لمكتبة التعلم العميق التي تستخدمها، وقم بإعداد ذاكرة التخزين المؤقت الخاصة بك، وقم بإعداد 🤗 Transformers للعمل دون اتصال بالإنترنت (اختياري).
تم اختبار 🤗 Transformers على Python 3.6 والإصدارات الأحدث، وPyTorch 1.1.0 والإصدارات الأحدث، وTensorFlow 2.0 والإصدارات الأحدث، وFlax. اتبع تعليمات التثبيت أدناه لمكتبة التعلم العميق التي تستخدمها:
- تعليمات تثبيت PyTorch.
- تعليمات تثبيت TensorFlow 2.0.
- تعليمات تثبيت Flax.
التثبيت باستخدام pip
يجب عليك تثبيت 🤗 Transformers داخل بيئة افتراضية. إذا لم تكن غير ملم ببيئات Python الافتراضية، فراجع هذا الدليل. البيئة الافتراضية تسهل إدارة المشاريع المختلف، وتجنب مشكلات التوافق بين المكتبات المطلوبة (اعتماديات المشروع).
ابدأ بإنشاء بيئة افتراضية في دليل مشروعك:
python -m venv .env
قم بتفعيل البيئة الافتراضية. على Linux وMacOs:
source .env/bin/activate
قم بتفعيل البيئة الافتراضية على Windows:
.env/Scripts/activate
الآن أنت مستعد لتثبيت 🤗 Transformers باستخدام الأمر التالي:
pip install transformers
للحصول على الدعم الخاص بـ CPU فقط، يمكنك تثبيت 🤗 Transformers ومكتبة التعلم العميق في خطوة واحدة. على سبيل المثال، قم بتثبيت 🤗 Transformers وPyTorch باستخدام:
pip install 'transformers[torch]'
🤗 Transformers وTensorFlow 2.0:
pip install 'transformers[tf-cpu]'
لمستخدمي M1 / ARM
ستحتاج إلى تثبيت ما يلي قبل تثبيت TensorFLow 2.0
brew install cmake brew install pkg-config
🤗 Transformers وFlax:
pip install 'transformers[flax]'
أخيرًا، تحقق مما إذا كان 🤗 Transformers قد تم تثبيته بشكل صحيح عن طريق تشغيل الأمر التالي. سيقوم بتنزيل نموذج مدرب مسبقًا:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('we love you'))"
ثم قم بطباعة التسمية والنتيجة:
[{'label': 'POSITIVE', 'score': 0.9998704791069031}]
التثبيت من المصدر
قم بتثبيت 🤗 Transformers من المصدر باستخدام الأمر التالي:
pip install git+https://github.com/huggingface/transformers
يقوم هذا الأمر بتثبيت أحدث إصدار تجريبي main
بدلاً من الإصدار المستقر stable
. يعد إصدار main
مفيدًا للمواكبة مع أحدث التطورات. على سبيل المثال، إذا تم إصلاح خطأ منذ الإصدار الرسمي الأخير ولكن لم يتم طرح إصدار جديد بعد. ومع ذلك، فإن هذا يعني أن إصدار التجريبي main
قد لا يكون مستقرًا دائمًا. نسعى جاهدين للحفاظ على تشغيل إصدار main
، ويتم حل معظم المشكلات عادةً في غضون بضع ساعات أو يوم. إذا واجهتك مشكلة، يرجى فتح تقرير عن خلل حتى نتمكن من إصلاحها في أقرب وقت ممكن!
تحقق مما إذا كان 🤗 Transformers قد تم تثبيته بشكل صحيح عن طريق تشغيل الأمر التالي:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
تحقق مما إذا كان 🤗 Transformers قد تم تثبيته بشكل صحيح عن طريق تشغيل الأمر التالي:
python -c "from transformers import pipeline; print(pipeline('sentiment-analysis')('I love you'))"
التثبيت القابل للتعديل
ستحتاج إلى تثبيت قابل للتعديل إذا كنت ترغب في:
- استخدام إصدار
main
من كود المصدر. - المساهمة في 🤗 Transformers وتحتاج إلى اختبار التغييرات في الكود.
قم باستنساخ المستودع وقم بتثبيت 🤗 Transformers باستخدام الأوامر التالية:
git clone https://github.com/huggingface/transformers.git
cd transformers
pip install -e .
ستقوم هذه الأوامر بربط المجلد الذي قمت باستنساخ المستودع فيه بمسارات مكتبة Python. بمعنى آخر، سيبحث Python داخل المجلد الذي قمت باستنساخه بالإضافة إلى المسارات المعتادة للمكتبات. على سبيل المثال، إذا تم تثبيت حزم Python الخاصة بك عادةً في ~/anaconda3/envs/main/lib/python3.7/site-packages/
, فسيقوم Python أيضًا بالبحث في المجلد الذي قمت باستنساخه: ~/transformers/
.
يجب عليك الاحتفاظ بمجلد transformers
إذا كنت تريد الاستمرار في استخدام المكتبة.
الآن يمكنك تحديث المستنسخ الخاص بك بسهولة إلى أحدث إصدار من 🤗 Transformers باستخدام الأمر التالي:
cd ~/transformers/
git pull
ستجد بيئة Python الإصدار main
من 🤗 Transformers في المرة التالية التي تقوم فيها بتشغيله.
التثبيت باستخدام conda
قم بالتثبيت من قناة conda conda-forge
:
conda install conda-forge::transformers
إعداد ذاكرة التخزين المؤقت
تُحمّل النماذج المُسبقة التدريب وتُخزّن مؤقتًا في: ~/.cache/huggingface/hub
. هذا هو المجلد الافتراضي الذي يُحدده متغير البيئة TRANSFORMERS_CACHE
. على Windows، يكون دليل ذاكرة التخزين المؤقت الافتراضي هو C:\Users\username\.cache\huggingface\hub
. يمكنك تغيير متغيرات البيئة shell الموضحة أدناه - حسب الأولوية - لتحديد دليل ذاكرة تخزين مؤقت مختلف:
- متغير البيئة (افتراضي):
HF_HUB_CACHE
أوTRANSFORMERS_CACHE
. - متغير البيئة:
HF_HOME
. - متغير البيئة:
XDG_CACHE_HOME
+/huggingface
.
سيستخدم 🤗 Transformers متغيرات البيئة PYTORCH_TRANSFORMERS_CACHE
أو PYTORCH_PRETRAINED_BERT_CACHE
إذا كنت قادمًا من إصدار سابق من هذه المكتبة وقمت بتعيين متغيرات البيئة هذه، ما لم تحدد متغير البيئة TRANSFORMERS_CACHE
.
الوضع دون اتصال بالإنترنت
قم بتشغيل 🤗 Transformers في بيئة محمية بجدار حماية أو غير متصلة باستخدام الملفات المخزنة مؤقتًا محليًا عن طريق تعيين متغير البيئة HF_HUB_OFFLINE=1
.
أضف 🤗 Datasets إلى سير عمل التدريب غير المتصل باستخدام متغير البيئة HF_DATASETS_OFFLINE=1
.
HF_DATASETS_OFFLINE=1 HF_HUB_OFFLINE=1 \ python examples/pytorch/translation/run_translation.py --model_name_or_path google-t5/t5-small --dataset_name wmt16 --dataset_config ro-en ...
يجب أن يعمل هذا البرنامج النصي دون توقف أو انتظار انتهاء المهلة الزمنية لأنه لن يحاول تنزيل النموذج من Hub.
يمكنك أيضًا تجاوز تحميل نموذج من Hub من كل استدعاء from_pretrained()
باستخدام معلمة local_files_only
. عندما يتم تعيينها على True
، يتم تحميل الملفات المحلية فقط:
from transformers import T5Model
model = T5Model.from_pretrained("./path/to/local/directory", local_files_only=True)
جلب النماذج والمُجزّئات لاستخدامها دون اتصال بالإنترنت
خيار آخر لاستخدام 🤗 Transformers دون اتصال هو تنزيل الملفات مسبقًا، ثم الإشارة إلى مسارها المحلي عند الحاجة إلى استخدامها دون اتصال. هناك ثلاث طرق للقيام بذلك:
قم بتنزيل ملف عبر واجهة المستخدم على Model Hub بالنقر فوق أيقونة ↓.
استخدم سير عمل
PreTrainedModel.from_pretrained()
وPreTrainedModel.save_pretrained()
:- قم بتنزيل ملفاتك مسبقًا باستخدام
PreTrainedModel.from_pretrained()
:
- قم بتنزيل ملفاتك مسبقًا باستخدام
استخدم سير عمل
PreTrainedModel.from_pretrained()
وPreTrainedModel.save_pretrained()
:قم بتنزيل ملفاتك مسبقًا باستخدام
PreTrainedModel.from_pretrained()
:>>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B") >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")
احفظ ملفاتك إلى دليل محدد باستخدام
PreTrainedModel.save_pretrained()
:>>> tokenizer.save_pretrained("./your/path/bigscience_t0") >>> model.save_pretrained("./your/path/bigscience_t0")
الآن عندما تكون غير متصل بالإنترنت، أعد تحميل ملفاتك باستخدام
PreTrainedModel.from_pretrained()
من الدليل المحدد:>>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0") >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")
قم بتنزيل الملفات برمجيًا باستخدام مكتبة huggingface_hub:
قم بتثبيت مكتبة
huggingface_hub
في بيئتك الافتراضية:python -m pip install huggingface_hub
استخدم وظيفة
hf_hub_download
لتنزيل ملف إلى مسار محدد. على سبيل المثال، يقوم الأمر التالي بتنزيل ملفconfig.json
من نموذج T0 إلى المسار المطلوب:>>> from huggingface_hub import hf_hub_download >>> hf_hub_download(repo_id="bigscience/T0_3B", filename="config.json", cache_dir="./your/path/bigscience_t0")
بمجرد تنزيل ملفك وتخزينه مؤقتًا محليًا، حدد مساره المحلي الخاص به لتحميله واستخدامه:
>>> from transformers import AutoConfig
>>> config = AutoConfig.from_pretrained("./your/path/bigscience_t0/config.json")
راجع قسم كيفية تنزيل الملفات من Hub لمزيد من التفاصيل حول تنزيل الملفات المخزنة على Hub.