Döşeme

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

Linux

Kurmak

Gereksinimler

  • Bazel>= 3.7.2
  • Python >= 3
  • Git
  • Python paketleri: numpy tensorflow pandaları

Bağımlılıkları elle yüklemek yerine TensorFlow Build liman işçisini kullanabilirsiniz. Bu seçeneği tercih ederseniz Docker'ı yükleyin:

Derleme

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 github'unu kopyalayabilir ve third_party/yggdrasil_decision_forests/workspace.bzl dosyasında yolu buna göre değiştirebilirsiniz.

İsteğe bağlı: Docker seçeneğini kullanmak istiyorsanız start_compile_docker.sh betiğini çalıştırın ve bir sonraki adıma geçin. Docker seçeneğini kullanmak istemiyorsanız doğrudan bir sonraki adıma geçin.

# Optional: Install and start the build docker.
./tools/start_compile_docker.sh

TF-DF'nin birim testlerini aşağıdaki komutla derleyin ve çalıştırın. test_bazel.sh python3.8 ve 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.
./tools/test_bazel.sh

Aşağıdaki komutla bir pip paketi oluşturun ve test edin. Python3.8'i 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

Mac os işletim sistemi

Kurmak

Gereksinimler

  • XCode komut satırı araçları
  • Bazel ( Bazelsk önerilir)
  • Python>= 3.9
  • Git
  • Pyenv (birden fazla Python sürümüyle Pip paketlerini oluşturmak için)

Bina / Paketleme (Apple CPU)

Apple CPU'lu bir MacOS makineniz varsa aşağıdaki talimatlarla derleme yapabilirsiniz.

  1. Üç depoyu klonlayın ve yolları ayarlayın.

    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
    

    Tensorflow taahhüt karmasını düzeltmek için test_bazel.sh betiğini manuel olarak ayarlamanız gerekebilir, çünkü MacOS derlemelerinde bazen bozulabilir.

  2. (İsteğe bağlı) Yeni bir sanal ortam oluşturun ve etkinleştirin

    python3 -m venv venv
    source venv/source/activate
    
  3. Apple CPU'lar için TensorFlow bağımlılığını ayarlayın

    perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
    
  4. Hangi Python sürümünü kullanmak ve çalıştırmak istediğinize karar verin

    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. Pip Paketlerini Oluşturun

    # 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. 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. Apple CPU'lara yönelik kılavuzun 1-3 ve 5. Adımlarını izleyin, 4. Adımı atlayın . Derleme dizininizi temizlemek için bazel --bazelrc=tensorflow_bazelrc clean --expunge komutunu çalıştırmanız gerekebilir.

  2. Hangi Python sürümünü kullanmak ve çalıştırmak istediğinize karar verin

    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. Pip Paketlerini Oluşturun

    # 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. Paketler decision-forests/dist/ konumunda bulunabilir.

Son not

TF-DF'nin derlenmesi TensorFlow Pip paketine ve TensorFlow Bazel bağımlılığına dayanır. TensorFlow'un yalnızca küçük bir kısmı derlenecektir. TF-DF'yi tek bir güçlü iş istasyonunda derlemek ~10 dakika sürer.