تثبيت

التثبيت مع بيب

قم بتثبيت غابات القرار TensorFlow عن طريق تشغيل:

# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade

ثم تحقق من التثبيت عن طريق تشغيل:

# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"

البناء من المصدر

تفاصيل تقنية

تنفذ غابات القرار TensorFlow (TF-DF) عمليات مخصصة لـ TensorFlow وبالتالي تعتمد على واجهة برمجة تطبيقات TensorFlow. نظرًا لأن واجهة برمجة التطبيقات (ABI) يمكن أن تتغير بين الإصدارات، فإن أي إصدار TF-DF يكون متوافقًا فقط مع إصدار TensorFlow محدد واحد.

لتجنب تجميع وشحن كل TensorFlow باستخدام TF-DF، روابط TF-DF مقابل مكتبة libtensorflow المشتركة التي يتم توزيعها مع حزمة TensorFlow's Pip. يتم تجميع جزء صغير فقط من Tensorflow ويستغرق التجميع حوالي 10 دقائق فقط على محطة عمل قوية (بدلاً من عدة ساعات عند تجميع TensorFlow بالكامل). لضمان نجاح ذلك، يجب أن يتطابق إصدار TensorFlow الذي تم تجميعه فعليًا مع مكتبة libtensorflow المشتركة تمامًا.

يقوم البرنامج النصي tools/test_bazel.sh بتكوين بنية TF-DF لضمان تطابق إصدارات الحزم المستخدمة. للحصول على تفاصيل حول هذه العملية، راجع الكود المصدري لهذا البرنامج النصي. نظرًا لأن تجميع TensorFlow يتغير كثيرًا، فهو يدعم فقط البناء باستخدام أحدث إصدارات TensorFlow ليلاً.

لينكس

بناء عامل الميناء

أسهل طريقة لإنشاء TF-DF على Linux هي استخدام Build Builder الخاص بـ TensorFlow. فقط قم بتنفيذ الخطوات التالية للبناء:

./tools/start_compile_docker.sh # Start the docker, might require root
export RUN_TESTS=1              # Whether to run tests after build
export PY_VERSION=3.9           # Python version to use for build
# TensorFlow version to compile against. This must match exactly the version
# of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly.
export TF_VERSION=2.16.1        # Set to "nightly" for building with tf-nightly
./tools/test_bazel.sh

يؤدي هذا إلى وضع كود C++ المترجم في دليل bazel-bin . لاحظ أن هذا رابط رمزي غير مكشوف خارج الحاوية (أي أن البناء قد اختفى بعد مغادرة الحاوية).

من أجل بناء العجلات، اركض

tools/build_pip_package.sh ALL_VERSIONS INSTALL_PYENV

سيؤدي هذا إلى تثبيت Pyenv و Pyenv-virtualenv داخل عامل الإرساء واستخدامه لتثبيت Python في جميع الإصدارات المدعومة للبناء. يتم وضع العجلات في الدليل الفرعي dist/ .

البناء اليدوي

قد يكون بناء TF-DF بدون عامل الإرساء أكثر صعوبة، وربما لا يتمكن الفريق من المساعدة في هذا الأمر.

متطلبات

  • بازل >= 6.3.0
  • بايثون> = 3
  • شخص سخيف
  • Pyenv، Pyenv-virtualenv (فقط في حالة التعبئة للعديد من إصدارات Python)

مبنى

قم بتنزيل غابات القرار TensorFlow كما يلي:

# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests

اختياري: تعتمد غابات القرار TensorFlow على غابات القرار Yggdrasil . إذا كنت تريد تحرير كود Yggdrasil، فيمكنك استنساخ مستودع Yggdrasil وتغيير المسار وفقًا لذلك في third_party/yggdrasil_decision_forests/workspace.bzl .

قم بتجميع وتشغيل اختبارات وحدة TF-DF باستخدام الأمر التالي. لاحظ أنه تم تكوين test_bazel.sh للمترجم الافتراضي على جهازك. قم بتحرير الملف مباشرة لتغيير هذا التكوين.

# Build and test TF-DF.
RUN_TESTS=1 PY_VERSION=3.9 TF_VERSION=2.16.1 ./tools/test_bazel.sh

قم بإنشاء واختبار حزمة النقطة باستخدام الأمر التالي. استبدل python3.9 بإصدار python الذي تريد استخدامه. لاحظ أنه ليس عليك استخدام نفس إصدار Python كما هو الحال في البرنامج النصي test_bazel.sh .

إذا كان التكوين الخاص بك متوافقًا مع Manylinux2014 ، فسيتم إنتاج حزمة نقاط متوافقة مع manylinux2014 .

إذا كان التكوين الخاص بك غير متوافق مع Manylinux2014، فسيتم إنتاج حزمة نقاط غير متوافقة مع manylinux2014 ، وسيفشل الفحص النهائي. لا يهم إذا كنت تريد استخدام TF-DF على جهازك الخاص. إحدى الطرق السهلة لجعل الإصدار Manylinux2014 متوافقًا هي استخدام عامل الإرساء المذكور أعلاه.

# Build and test a Pip package.
./tools/build_pip_package.sh python3.9

سيقوم هذا الأمر بتثبيت حزمة TF-DF pip وتشغيل المثال في examples/minimal.py . توجد حزمة Pip في الدليل dist/ .

إذا كنت تريد إنشاء حزمة Pip للإصدار الآخر المتوافق من Python، فقم بتشغيل:

# Install the other versions of python (assume only python3.9 is installed; this is the case in the build docker).
sudo apt-get update && sudo apt-get install python3.9 python3-pip

# Create the Pip package for the other version of python
./tools/build_pip_package.sh python3.9

وبدلاً من ذلك ، يمكنك إنشاء حزمة النقطة لجميع إصدارات python المتوافقة باستخدام pyenv عن طريق تشغيل الأمر التالي. راجع رأس tools/build_pip_package.sh لمزيد من التفاصيل.

# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS

ماك

يثبت

متطلبات

  • أدوات سطر الأوامر XCode
  • بازل ( بازيليسك الموصى به)
  • حزم البيرة: GNU coreutils، GNU sed، GNU grep
  • Pyenv (لإنشاء حزم Pip بإصدارات متعددة من Python)

وحدة المعالجة المركزية Arm64

بالنسبة لأنظمة MacOS المزودة بوحدة المعالجة المركزية ARM64، اتبع الخطوات التالية:

  1. قم بإعداد بيئتك

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/bin/activate
    
  2. حدد إصدار Python وإصدار TensorFlow الذي تريد استخدامه وتشغيله

    cd decision-forests
    bazel clean --expunge            # Remove old builds (esp. cross-compiled).
    export RUN_TESTS=1               # Whether to run tests after build.
    export PY_VERSION=3.9            # Python version to use for build.
    # TensorFlow version to compile against. This must match exactly the version
    # of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly.
    export TF_VERSION=2.16.1
    ./tools/test_bazel.sh            # Takes ~15 minutes on a modern Mac.
    
  3. حزمة البناء.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS
    
  4. يمكن العثور على الحزم في decision-forests/dist/ .

التجميع المتقاطع لوحدات المعالجة المركزية Intel

إذا كان لديك جهاز MacOS مزودًا بوحدة المعالجة المركزية Apple، فقم بتجميع TF-DF لأجهزة MacOS المزودة بوحدات المعالجة المركزية Intel على النحو التالي.

  1. قم بإعداد بيئتك

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/source/activate
    
  2. حدد إصدار Python الذي تريد استخدامه وتشغيله

    cd decision-forests
    bazel clean --expunge            # Remove old builds (esp. cross-compiled).
    export RUN_TESTS=0               # Cross-compiled builds can't run tests.
    export PY_VERSION=3.9            # Python version to use for build.
    # TensorFlow version to compile against. This must match exactly the version
    # of TensorFlow used at runtime, otherwise TF-DF may crash unexpectedly.
    export TF_VERSION=2.16.1
    export MAC_INTEL_CROSSCOMPILE=1  # Enable cross-compilation.
    ./tools/test_bazel.sh            # Takes ~15 minutes on a modern Mac.
    
  3. حزمة البناء.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
    
  4. يمكن العثور على الحزم في decision-forests/dist/ . لاحظ أنه لم يتم اختبارها وسيكون من الحكمة اختبارها قبل التوزيع.

شبابيك

لقد تم إنتاج نسخة Windows بنجاح في الماضي، ولكن لم تتم صيانتها في هذه المرحلة. راجع tools/test_bazel.bat والأدوات tools/test_bazel.sh للتعرف على المؤشرات (التي ربما تكون قديمة) للتجميع على نظام التشغيل Windows.

بالنسبة لمستخدمي Windows، تقدم YDF إصدارات Windows الرسمية ومعظم وظائف TF-DF (والمزيد!).