#
التثبيت (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 الموضحة أدناه - حسب الأولوية - لتحديد دليل ذاكرة تخزين مؤقت مختلف:

1. متغير البيئة (افتراضي): `HUGGINGFACE_HUB_CACHE` أو `TRANSFORMERS_CACHE`.
2. متغير البيئة: `HF_HOME`.
3. متغير البيئة: `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()`:

  1. قم بتنزيل ملفاتك مسبقًا باستخدام `PreTrainedModel.from_pretrained()`:

- استخدم سير عمل `PreTrainedModel.from_pretrained()` و `PreTrainedModel.save_pretrained()`:

  1. قم بتنزيل ملفاتك مسبقًا باستخدام `PreTrainedModel.from_pretrained()`:

         >>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

         >>> tokenizer = AutoTokenizer.from_pretrained("bigscience/T0_3B")
         >>> model = AutoModelForSeq2SeqLM.from_pretrained("bigscience/T0_3B")

  2. احفظ ملفاتك إلى دليل محدد باستخدام `PreTrainedModel.save_pretrained()`:

         >>> tokenizer.save_pretrained("./your/path/bigscience_t0")
         >>> model.save_pretrained("./your/path/bigscience_t0")

  3. الآن عندما تكون غير متصل بالإنترنت، أعد تحميل ملفاتك باستخدام `PreTrainedModel.from_pretrained()` من الدليل المحدد:

         >>> tokenizer = AutoTokenizer.from_pretrained("./your/path/bigscience_t0")
         >>> model = AutoModel.from_pretrained("./your/path/bigscience_t0")

- قم بتنزيل الملفات برمجيًا باستخدام مكتبة huggingface_hub:

  1. قم بتثبيت مكتبة `huggingface_hub` في بيئتك الافتراضية:

         python -m pip install huggingface_hub

  2. استخدم وظيفة `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.

< > Update on GitHub