التثبيت مع بيب
قم بتثبيت غابات القرار 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__)"
البناء من المصدر
لينكس
يثبت
متطلبات
- بازل >= 3.7.2
- بايثون> = 3
- شخص سخيف
- حزم بايثون: الباندا numpy Tensorflow
بدلًا من تثبيت التبعيات يدويًا، يمكنك استخدام TensorFlow Build docker . إذا اخترت هذا الخيار، فقم بتثبيت Docker:
التحويل البرمجي
قم بتنزيل غابات القرار TensorFlow كما يلي:
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
اختياري: تعتمد غابات القرار TensorFlow على غابات القرار Yggdrasil . إذا كنت تريد تحرير كود Yggdrasil، فيمكنك استنساخ Yggdrasil github وتغيير المسار وفقًا لذلك في third_party/yggdrasil_decision_forests/workspace.bzl
.
اختياري: إذا كنت تريد استخدام خيار عامل الإرساء، فقم بتشغيل البرنامج النصي start_compile_docker.sh
وتابع إلى الخطوة التالية. إذا كنت لا ترغب في استخدام خيار عامل الإرساء، فانتقل إلى الخطوة التالية مباشرة.
# Optional: Install and start the build docker.
./tools/start_compile_docker.sh
قم بتجميع وتشغيل اختبارات وحدة TF-DF باستخدام الأمر التالي. لاحظ أنه تم تكوين test_bazel.sh
لـ python3.8
والمترجم الافتراضي على جهازك. قم بتحرير الملف مباشرة لتغيير هذا التكوين.
# Build and test TF-DF.
./tools/test_bazel.sh
قم بإنشاء واختبار حزمة النقطة باستخدام الأمر التالي. استبدل python3.8 بإصدار 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
- بازل ( بازيليسك الموصى به)
- بايثون >= 3.9
- شخص سخيف
- Pyenv (لإنشاء حزم Pip بإصدارات متعددة من Python)
البناء/التغليف (وحدة المعالجة المركزية Apple)
إذا كان لديك جهاز MacOS مزودًا بوحدة معالجة مركزية من Apple، فيمكنك إنشاءه باتباع الإرشادات التالية.
استنساخ المستودعات الثلاثة وضبط المسارات.
git clone https://github.com/tensorflow/decision-forests.git git clone https://github.com/google/yggdrasil-decision-forests.git git clone --branch boost-1.75.0 https://github.com/boostorg/boost.git (cd boost && git submodule update --init --checkout --force) # Adjust path TF-DF --> YDF perl -0777 -i.original -pe 's/ http_archive\(\n name = "ydf",\n urls = \["https:\/\/github.com\/google\/yggdrasil-decision-forests\/archive\/refs\/heads\/main.zip"\],\n strip_prefix = "yggdrasil-decision-forests-main",\n \)/ native.local_repository\(\n name = "ydf",\n path = "..\/yggdrasil-decision-forests",\n \)/igs' decision-forests/third_party/yggdrasil_decision_forests/workspace.bzl # Adjust path YDF --> Boost perl -0777 -i.original -pe 's/ new_git_repository\(\n name = "org_boost",\n branch = branch,\n build_file_content = build_file_content,\n init_submodules = True,\n recursive_init_submodules = True,\n remote = "https:\/\/github.com\/boostorg\/boost",\n \)/ native.new_local_repository\(\n name = "org_boost",\n path = "..\/boost",\n build_file_content = build_file_content,\n \)/igs' yggdrasil-decision-forests/third_party/boost/workspace.bzl
قد تحتاج إلى ضبط البرنامج النصي test_bazel.sh يدويًا لإصلاح تجزئة التزام Tensorflow، نظرًا لأنه يتعطل أحيانًا في إصدارات MacOS.
(اختياري) أنشئ بيئة افتراضية جديدة وقم بتنشيطها
python3 -m venv venv source venv/source/activate
اضبط تبعية TensorFlow لوحدات المعالجة المركزية (CPU) الخاصة بشركة Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
حدد إصدار Python الذي تريد استخدامه وتشغيله
cd decision-forests # This will compile with the latest Tensorflow version in the tensorflow-macos repository. RUN_TESTS=1 PY_VERSION=3.9 TF_VERSION=mac-arm64 ./tools/test_bazel.sh
بناء حزم النقطة
# First, we deactivate our virtualenv, since the Pip script uses a different one. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_ARM64
يمكن العثور على الحزم في
decision-forests/dist/
.
التجميع المتقاطع لوحدات المعالجة المركزية Intel
إذا كان لديك جهاز MacOS مزودًا بوحدة المعالجة المركزية Apple، فقم بتجميع TF-DF لأجهزة MacOS المزودة بوحدات المعالجة المركزية Intel على النحو التالي.
اتبع الخطوات من 1 إلى 3 و5 من دليل وحدات المعالجة المركزية (CPU) الخاصة بشركة Apple، وتخط الخطوة 4 . قد تحتاج إلى تشغيل
bazel --bazelrc=tensorflow_bazelrc clean --expunge
لتنظيف دليل البناء الخاص بك.حدد إصدار Python الذي تريد استخدامه وتشغيله
cd decision-forests # This will compile with the latest Tensorflow version in the tensorflow-macos repository. RUN_TESTS=0 PY_VERSION=3.9 TF_VERSION=mac-intel-crosscompile ./tools/test_bazel.sh
بناء حزم النقطة
# First, we deactivate our virtualenv, since the Pip script uses a different one. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
يمكن العثور على الحزم في
decision-forests/dist/
.
الملاحظة النهائية
يعتمد تجميع TF-DF على حزمة TensorFlow Pip وتبعية TensorFlow Bazel. سيتم تجميع جزء صغير فقط من TensorFlow. يستغرق تجميع TF-DF على محطة عمل واحدة قوية حوالي 10 دقائق.