نصب و راه اندازی

نصب با پیپ

جنگل های تصمیم 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
  • Git
  • بسته های پایتون: پانداهای تنسورفلو ناتوان

به جای اینکه وابستگی ها را با دست نصب کنید، می توانید از Docker TensorFlow Build استفاده کنید. اگر این گزینه را انتخاب کردید، Docker را نصب کنید:

تلفیقی

TensorFlow Decision Forests را به صورت زیر دانلود کنید:

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

اختیاری: TensorFlow Decision Forests به Yggdrasil Decision Forests بستگی دارد. اگر می‌خواهید کد Yggdrasil را ویرایش کنید، می‌توانید github Yggdrasil را شبیه‌سازی کنید و مسیر را متناسب با آن در third_party/yggdrasil_decision_forests/workspace.bzl تغییر دهید.

اختیاری: اگر می خواهید از گزینه docker استفاده کنید، اسکریپت start_compile_docker.sh را اجرا کنید و به مرحله بعد بروید. اگر نمی‌خواهید از گزینه docker استفاده کنید، مستقیماً به مرحله بعدی بروید.

# 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 را با نسخه پایتونی که می خواهید استفاده کنید جایگزین کنید. توجه داشته باشید که لازم نیست از همان نسخه پایتون مانند اسکریپت 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 را نصب می کند و مثال را در examples/minimal.py اجرا می کند. بسته Pip در دایرکتوری dist/ قرار دارد.

اگر می خواهید یک بسته Pip برای نسخه سازگار دیگر پایتون ایجاد کنید، اجرا کنید:

# 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

همچنین ، می‌توانید با اجرای دستور زیر، بسته پیپ را برای تمام نسخه‌های سازگار پایتون با استفاده از pyenv ایجاد کنید. برای جزئیات بیشتر به هدر tools/build_pip_package.sh مراجعه کنید.

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

سیستم عامل مک

برپایی

الزامات

  • ابزارهای خط فرمان XCode
  • Bazel ( بازلیسک توصیه شده)
  • پایتون >= 3.9
  • Git
  • Pyenv (برای ساخت بسته های Pip با چندین نسخه پایتون)

ساختمان / بسته بندی (CPU اپل)

اگر یک دستگاه MacOS با CPU اپل دارید، می توانید با دستورالعمل های زیر بسازید.

  1. سه مخزن را کلون کنید و مسیرها را تنظیم کنید.

    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 را به صورت دستی تنظیم کنید تا هش commit Tensorflow را برطرف کنید، زیرا گاهی اوقات برای ساخت‌های MacOS خراب می‌شود.

  2. (اختیاری) یک محیط مجازی تازه ایجاد کنید و آن را فعال کنید

    python3 -m venv venv
    source venv/source/activate
    
  3. وابستگی TensorFlow را برای CPUهای اپل تنظیم کنید

    perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
    
  4. تصمیم بگیرید که کدام نسخه پایتون را می خواهید استفاده کنید و اجرا کنید

    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
    
  5. بسته های پیپ را بسازید

    # 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
    
  6. بسته‌ها را می‌توان در decision-forests/dist/ یافت.

کامپایل متقابل برای پردازنده های اینتل

اگر یک دستگاه MacOS با CPU اپل دارید، TF-DF را برای دستگاه‌های MacOS با CPU اینتل به صورت زیر کامپایل کنید.

  1. مراحل 1-3 و 5 راهنمای پردازنده های اپل را دنبال کنید، مرحله 4 را نادیده بگیرید . ممکن است لازم باشد bazel --bazelrc=tensorflow_bazelrc clean --expunge برای تمیز کردن فهرست ساخت خود اجرا کنید.

  2. تصمیم بگیرید که کدام نسخه پایتون را می خواهید استفاده کنید و اجرا کنید

    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
    
  3. بسته های پیپ را بسازید

    # 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
    
  4. بسته‌ها را می‌توان در decision-forests/dist/ یافت.

یادداشت پایانی

کامپایل TF-DF به بسته TensorFlow Pip و وابستگی TensorFlow Bazel متکی است. تنها بخش کوچکی از TensorFlow کامپایل خواهد شد. کامپایل TF-DF در یک ایستگاه کاری قدرتمند 10 دقیقه طول می کشد.