Kurulum

Pip ile Kurulum

Aşağıdakileri çalıştırarak TensorFlow Karar Ormanlarını yükleyin:

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

Ardından aşağıdakileri çalıştırarak kurulumu kontrol edin:

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

Kaynaktan derle

Teknik detaylar

TensorFlow Karar Ormanları (TF-DF), TensorFlow için özel operasyonlar uygular ve bu nedenle TensorFlow'un ABI'sine bağlıdır. ABI sürümler arasında değişebildiği için herhangi bir TF-DF sürümü yalnızca belirli bir TensorFlow sürümüyle uyumludur.

Tüm TensorFlow'un TF-DF ile derlenmesini ve gönderilmesini önlemek için, TF-DF, TensorFlow'un Pip paketiyle dağıtılan libtensorflow paylaşılan kitaplığına bağlanır. Tensorflow'un yalnızca küçük bir kısmı derlenir ve derleme, güçlü bir iş istasyonunda yalnızca ~10 dakika sürer (TensorFlow'un tamamı derlenirken birkaç saat yerine). Bunun işe yaradığından emin olmak için, gerçekte derlenen TensorFlow sürümü ile libtensorflow paylaşılan kitaplığının tam olarak eşleşmesi gerekir.

tools/test_bazel.sh betiği, kullanılan paketlerin sürümlerinin eşleştiğinden emin olmak için TF-DF yapısını yapılandırır. Bu işlemle ilgili ayrıntılar için bu betiğin kaynak koduna bakın. TensorFlow derlemesi sıklıkla değiştiğinden, yalnızca en yeni TensorFlow sürümleriyle ve gecelik olarak oluşturmayı destekler.

Linux

Docker yapısı

Linux'ta TF-DF oluşturmanın en kolay yolu TensorFlow'un build Build docker'ını kullanmaktır. Oluşturmak için aşağıdaki adımları uygulamanız yeterlidir:

./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

Bu, derlenmiş C++ kodunu bazel-bin dizinine yerleştirir. Bunun konteynerin dışında gösterilmeyen sembolik bir bağlantı olduğunu unutmayın (yani konteynerden ayrıldıktan sonra yapı kaybolur).

Tekerlekleri oluşturmak için koşun

tools/build_pip_package.sh ALL_VERSIONS INSTALL_PYENV

Bu , Pyenv ve Pyenv-virtualenv'i liman işçisinin içine yükleyecek ve bunu, Python'u bina için desteklenen tüm sürümlere yüklemek için kullanacak. Tekerlekler dist/ alt dizinine yerleştirilir.

Manuel oluşturma

Docker olmadan TF-DF'yi oluşturmak daha zor olabilir ve ekip muhtemelen bu konuda yardımcı olamayacaktır.

Gereksinimler

  • Bazel>= 6.3.0
  • Python >= 3
  • Git
  • Pyenv, Pyenv-virtualenv (yalnızca birçok Python sürümü için paketleme yapılıyorsa)

Bina

TensorFlow Karar Ormanlarını aşağıdaki gibi indirin:

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

İsteğe bağlı: TensorFlow Karar Ormanları, Yggdrasil Karar Ormanlarına bağlıdır. Yggdrasil kodunu düzenlemek istiyorsanız Yggdrasil deposunu kopyalayabilir ve third_party/yggdrasil_decision_forests/workspace.bzl dosyasında yolu buna göre değiştirebilirsiniz.

TF-DF'nin birim testlerini aşağıdaki komutla derleyin ve çalıştırın. test_bazel.sh makinenizdeki varsayılan derleyici için yapılandırıldığını unutmayın. Bu yapılandırmayı değiştirmek için dosyayı doğrudan düzenleyin.

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

Aşağıdaki komutla bir pip paketi oluşturun ve test edin. Python3.9'u kullanmak istediğiniz python sürümüyle değiştirin. test_bazel.sh betiğindeki Python sürümünün aynısını kullanmak zorunda olmadığınızı unutmayın.

Eğer konfigürasyonunuz manylinux2014 ile uyumlu ise manylinux2014 uyumlu bir pip paketi üretilecektir.

Yapılandırmanız manylinux2014 ile uyumlu değilse, manylinux2014 uyumlu olmayan bir pip paketi üretilecek ve son kontrol başarısız olacaktır. TF-DF'yi kendi makinenizde kullanmak isteyip istemediğiniz önemli değil. Manylinux2014 yapısını uyumlu hale getirmenin kolay bir yolu yukarıda bahsedilen docker'ı kullanmaktır.

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

Bu komut TF-DF pip paketini yükleyecek ve examples/minimal.py dosyasındaki örneği çalıştıracaktır. Pip paketi dist/ dizininde bulunur.

Python'un diğer uyumlu sürümü için bir Pip paketi oluşturmak istiyorsanız şunu çalıştırın:

# 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

Alternatif olarak , aşağıdaki komutu çalıştırarak pyenv'i kullanarak python'un tüm uyumlu sürümleri için pip paketi oluşturabilirsiniz. Daha fazla ayrıntı için tools/build_pip_package.sh başlığına bakın.

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

MacOS

Kurmak

Gereksinimler

  • XCode komut satırı araçları
  • Bazel ( Bazelsk önerilir)
  • Homebrew paketleri: GNU coreutils, GNU sed, GNU grep
  • Pyenv (birden fazla Python sürümüyle Pip paketlerini oluşturmak için)

Arm64 CPU

ARM64 CPU'lu MacOS sistemleri için şu adımları izleyin:

  1. Ortamınızı hazırlayın

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/bin/activate
    
  2. Hangi Python sürümünü ve TensorFlow sürümünü kullanmak ve çalıştırmak istediğinize karar verin

    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. Yapıyı paketleyin.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS
    
  4. Paketler decision-forests/dist/ konumunda bulunabilir.

Intel CPU'lar için çapraz derleme

Apple CPU'lu bir MacOS makineniz varsa, Intel CPU'lu MacOS makineleri için TF-DF'yi aşağıdaki gibi çapraz derleyin.

  1. Ortamınızı hazırlayın

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/source/activate
    
  2. Hangi Python sürümünü kullanmak ve çalıştırmak istediğinize karar verin

    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. Yapıyı paketleyin.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
    
  4. Paketler decision-forests/dist/ konumunda bulunabilir. Bunların test edilmediğini ve dağıtımdan önce test edilmesinin akıllıca olacağını unutmayın.

Windows

Geçmişte bir Windows yapısı başarıyla oluşturuldu ancak bu noktada bakımı yapılmadı. Windows'ta derlemeye yönelik (muhtemelen güncel olmayan) işaretçiler için tools/test_bazel.bat ve tools/test_bazel.sh bakın.

YDF , Windows kullanıcıları için resmi Windows sürümlerini ve TF-DF'nin işlevlerinin çoğunu (ve daha fazlasını!) sunar.