Penginstalan

Instalasi dengan Pip

Instal TensorFlow Decision Forests dengan menjalankan:

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

Kemudian, periksa instalasi dengan menjalankan:

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

Bangun dari sumber

Detail teknis

TensorFlow Decision Forests (TF-DF) mengimplementasikan operasi khusus untuk TensorFlow dan oleh karena itu bergantung pada ABI TensorFlow. Karena ABI dapat berubah antar versi, versi TF-DF apa pun hanya kompatibel dengan satu versi TensorFlow tertentu.

Untuk menghindari kompilasi dan pengiriman seluruh TensorFlow dengan TF-DF, TF-DF menautkan ke pustaka bersama libtensorflow yang didistribusikan dengan paket Pip TensorFlow. Hanya sebagian kecil Tensorflow yang dikompilasi dan kompilasi hanya membutuhkan waktu ~10 menit pada workstation yang kuat (bukan beberapa jam saat mengkompilasi seluruh TensorFlow). Untuk memastikan ini berfungsi, versi TensorFlow yang benar-benar dikompilasi dan pustaka bersama libtensorflow harus sama persis.

Skrip tools/test_bazel.sh mengonfigurasi build TF-DF untuk memastikan versi paket yang digunakan cocok. Untuk detail tentang proses ini, lihat kode sumber skrip ini. Karena kompilasi TensorFlow sering berubah, kompilasi ini hanya mendukung pembuatan dengan versi TensorFlow terbaru dan setiap malam.

Linux

Pembuatan buruh pelabuhan

Cara termudah untuk membuat TF-DF di Linux adalah dengan menggunakan build Build docker TensorFlow. Jalankan saja langkah-langkah berikut untuk membangun:

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

Ini menempatkan kode C++ yang dikompilasi di direktori bazel-bin . Perhatikan bahwa ini adalah tautan simbolis yang tidak diekspos di luar penampung (yaitu build hilang setelah keluar dari penampung).

Untuk membangun roda, jalankan

tools/build_pip_package.sh ALL_VERSIONS INSTALL_PYENV

Ini akan menginstal Pyenv dan Pyenv-virtualenv di dalam buruh pelabuhan dan menggunakannya untuk menginstal Python di semua versi yang didukung untuk pembangunan. Roda ditempatkan di dist/ subdirektori.

Pembuatan manual

Membangun TF-DF tanpa buruh pelabuhan mungkin lebih sulit, dan tim mungkin tidak dapat membantu dalam hal ini.

Persyaratan

  • Bazel >= 6.3.0
  • Piton >= 3
  • Git
  • Pyenv, Pyenv-virtualenv (hanya jika dikemas untuk banyak versi Python)

Bangunan

Unduh Decision Forest TensorFlow sebagai berikut:

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

Opsional: Decision Forest TensorFlow bergantung pada Decision Forests Yggdrasil . Jika Anda ingin mengedit kode Yggdrasil, Anda dapat mengkloning repositori Yggdrasil dan mengubah jalurnya di third_party/yggdrasil_decision_forests/workspace.bzl .

Kompilasi dan jalankan pengujian unit TF-DF dengan perintah berikut. Perhatikan bahwa test_bazel.sh dikonfigurasi untuk kompiler default di mesin Anda. Edit file secara langsung untuk mengubah konfigurasi ini.

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

Buat dan uji paket pip dengan perintah berikut. Ganti python3.9 dengan versi python yang ingin Anda gunakan. Perhatikan bahwa Anda tidak harus menggunakan versi Python yang sama seperti pada skrip test_bazel.sh .

Jika konfigurasi Anda kompatibel dengan manylinux2014 , paket pip yang kompatibel dengan manylinux2014 akan diproduksi.

Jika konfigurasi Anda tidak kompatibel dengan manylinux2014, paket pip yang tidak kompatibel dengan manylinux2014 akan dihasilkan, dan pemeriksaan terakhir akan gagal. Tidak masalah jika Anda ingin menggunakan TF-DF di mesin Anda sendiri. Cara mudah untuk membuat build manylinux2014 kompatibel adalah dengan menggunakan buruh pelabuhan yang disebutkan di atas.

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

Perintah ini akan menginstal paket pip TF-DF dan menjalankan contoh di examples/minimal.py . Paket Pip terletak di direktori dist/ .

Jika Anda ingin membuat paket Pip untuk versi Python lain yang kompatibel, jalankan:

# 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

Alternatifnya , Anda dapat membuat paket pip untuk semua versi python yang kompatibel menggunakan pyenv dengan menjalankan perintah berikut. Lihat header tools/build_pip_package.sh untuk lebih jelasnya.

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

macOS

Mempersiapkan

Persyaratan

  • Alat baris perintah XCode
  • Bazel (direkomendasikan Bazelisk )
  • Paket buatan sendiri: GNU coreutils, GNU sed, GNU grep
  • Pyenv (untuk membuat paket Pip dengan beberapa versi Python)

CPU Arm64

Untuk sistem MacOS dengan CPU ARM64, ikuti langkah-langkah berikut:

  1. Persiapkan lingkungan Anda

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/bin/activate
    
  2. Putuskan versi Python dan versi TensorFlow mana yang ingin Anda gunakan dan jalankan

    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. Kemas bangunannya.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS
    
  4. Paket-paket tersebut dapat ditemukan di decision-forests/dist/ .

Kompilasi silang untuk CPU Intel

Jika Anda memiliki mesin MacOS dengan CPU Apple, kompilasi silang TF-DF untuk mesin MacOS dengan CPU Intel sebagai berikut.

  1. Persiapkan lingkungan Anda

    git clone https://github.com/tensorflow/decision-forests.git
    python3 -m venv venv
    source venv/source/activate
    
  2. Putuskan versi Python mana yang ingin Anda gunakan dan jalankan

    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. Kemas bangunannya.

    # Building the packages uses different virtualenvs through Pyenv.
    deactivate
    # Build the packages.
    ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
    
  4. Paket-paket tersebut dapat ditemukan di decision-forests/dist/ . Perhatikan bahwa produk tersebut belum diuji dan sebaiknya diuji sebelum didistribusikan.

jendela

Pembuatan Windows telah berhasil diproduksi di masa lalu, namun tidak dipertahankan pada saat ini. Lihat tools/test_bazel.bat dan tools/test_bazel.sh untuk petunjuk (mungkin sudah ketinggalan zaman) untuk kompilasi di Windows.

Untuk pengguna Windows, YDF menawarkan versi resmi Windows dan sebagian besar fungsi (dan banyak lagi!) TF-DF.