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

Linux

Mempersiapkan

Persyaratan

  • Bazel >= 3.7.2
  • Piton >= 3
  • Git
  • Paket Python: panda tensorflow numpy

Daripada menginstal dependensi secara manual, Anda dapat menggunakan buruh pelabuhan TensorFlow Build . Jika Anda memilih opsi ini, instal Docker:

Kompilasi

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 github Yggdrasil dan mengubah jalurnya di third_party/yggdrasil_decision_forests/workspace.bzl .

Opsional: Jika Anda ingin menggunakan opsi buruh pelabuhan, jalankan skrip start_compile_docker.sh dan lanjutkan ke langkah berikutnya. Jika Anda tidak ingin menggunakan opsi buruh pelabuhan, langsung lanjutkan ke langkah berikutnya.

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

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

# Build and test TF-DF.
./tools/test_bazel.sh

Buat dan uji paket pip dengan perintah berikut. Ganti python3.8 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 )
  • Piton >= 3.9
  • Git
  • Pyenv (untuk membuat paket Pip dengan beberapa versi Python)

Bangunan / Pengemasan (CPU Apple)

Jika Anda memiliki mesin MacOS dengan CPU Apple, Anda dapat membuatnya dengan petunjuk berikut.

  1. Kloning ketiga repositori dan sesuaikan jalurnya.

    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
    

    Anda mungkin perlu menyesuaikan skrip test_bazel.sh secara manual untuk memperbaiki hash penerapan Tensorflow, karena terkadang skrip tersebut rusak untuk versi MacOS.

  2. (Opsional) Buat lingkungan virtual baru dan aktifkan

    python3 -m venv venv
    source venv/source/activate
    
  3. Sesuaikan ketergantungan TensorFlow untuk CPU Apple

    perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
    
  4. Putuskan versi Python mana yang ingin Anda gunakan dan jalankan

    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. Bangun Paket Pip

    # 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. 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. Ikuti Langkah 1-3 dan 5 panduan untuk CPU Apple, lewati Langkah 4 . Anda mungkin perlu menjalankan bazel --bazelrc=tensorflow_bazelrc clean --expunge untuk membersihkan direktori build Anda.

  2. Putuskan versi Python mana yang ingin Anda gunakan dan jalankan

    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. Bangun Paket Pip

    # 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. Paket-paket tersebut dapat ditemukan di decision-forests/dist/ .

Catatan terakhir

Kompilasi TF-DF bergantung pada paket TensorFlow Pip dan ketergantungan TensorFlow Bazel. Hanya sebagian kecil TensorFlow yang akan dikompilasi. Mengkompilasi TF-DF pada satu stasiun kerja yang kuat membutuhkan waktu ~10 menit.