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.
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.
(Opsional) Buat lingkungan virtual baru dan aktifkan
python3 -m venv venv source venv/source/activate
Sesuaikan ketergantungan TensorFlow untuk CPU Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
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
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
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.
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.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
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
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.