Installazione con Pip
Installa TensorFlow Decision Forests eseguendo:
# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade
Quindi, controlla l'installazione eseguendo:
# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"
Costruisci dalla fonte
Linux
Impostare
Requisiti
- Bazel >= 3.7.2
- Pitone >= 3
- Idiota
- Pacchetti Python: panda tensorflow numpy
Invece di installare manualmente le dipendenze, puoi utilizzare la finestra mobile TensorFlow Build . Se scegli questa opzione, installa Docker:
- Docker .
Compilazione
Scarica TensorFlow Decision Forests come segue:
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
Facoltativo: TensorFlow Decision Forests dipende da Yggdrasil Decision Forests . Se desideri modificare il codice Yggdrasil, puoi clonare il github Yggdrasil e modificare il percorso di conseguenza in third_party/yggdrasil_decision_forests/workspace.bzl
.
Facoltativo: se desideri utilizzare l'opzione docker, esegui lo script start_compile_docker.sh
e vai al passaggio successivo. Se non desideri utilizzare l'opzione finestra mobile, vai direttamente al passaggio successivo.
# Optional: Install and start the build docker.
./tools/start_compile_docker.sh
Compila ed esegui gli unit test di TF-DF con il seguente comando. Tieni presente che test_bazel.sh
è configurato per python3.8
e il compilatore predefinito sul tuo computer. Modifica direttamente il file per cambiare questa configurazione.
# Build and test TF-DF.
./tools/test_bazel.sh
Crea e testa un pacchetto pip con il comando seguente. Sostituisci python3.8 con la versione di Python che desideri utilizzare. Tieni presente che non è necessario utilizzare la stessa versione di Python dello script test_bazel.sh
.
Se la tua configurazione è compatibile con manylinux2014 , verrà prodotto un pacchetto pip compatibile manylinux2014
.
Se la tua configurazione non è compatibile con manylinux2014, verrà prodotto un pacchetto pip non compatibile con manylinux2014
e il controllo finale fallirà. Non importa se desideri utilizzare TF-DF sul tuo computer. Un modo semplice per rendere compatibile la build manylinux2014 è utilizzare la finestra mobile menzionata sopra.
# Build and test a Pip package.
./tools/build_pip_package.sh python3.9
Questo comando installerà il pacchetto pip TF-DF ed eseguirà l'esempio in examples/minimal.py
. Il pacchetto Pip si trova nella directory dist/
.
Se vuoi creare un pacchetto Pip per l'altra versione compatibile di Python, esegui:
# 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
In alternativa , puoi creare il pacchetto pip per tutte le versioni compatibili di Python utilizzando pyenv eseguendo il comando seguente. Vedi l'intestazione di tools/build_pip_package.sh
per maggiori dettagli.
# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS
Mac OS
Impostare
Requisiti
- Strumenti da riga di comando XCode
- Bazel (consigliato Bazelisk )
- Python >= 3.9
- Idiota
- Pyenv (per creare pacchetti Pip con più versioni Python)
Costruzione/Packaging (CPU Apple)
Se disponi di un computer MacOS con CPU Apple, puoi creare seguendo le seguenti istruzioni.
Clona i tre repository e regola i percorsi.
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
Potrebbe essere necessario modificare manualmente lo script test_bazel.sh per correggere l'hash del commit di Tensorflow, poiché a volte non funziona correttamente per le build MacOS.
(Facoltativo) Crea un nuovo ambiente virtuale e attivalo
python3 -m venv venv source venv/source/activate
Modifica la dipendenza di TensorFlow per le CPU Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
Decidi quale versione di Python desideri utilizzare ed eseguire
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
Costruisci i pacchetti 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
I pacchetti possono essere trovati in
decision-forests/dist/
.
Compilazione incrociata per CPU Intel
Se disponi di una macchina MacOS con CPU Apple, esegui la compilazione incrociata TF-DF per macchine MacOS con CPU Intel come segue.
Segui i passaggi 1-3 e 5 della guida per le CPU Apple, salta il passaggio 4 . Potrebbe essere necessario eseguire
bazel --bazelrc=tensorflow_bazelrc clean --expunge
per pulire la directory di build.Decidi quale versione di Python desideri utilizzare ed eseguire
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
Costruisci i pacchetti 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
I pacchetti possono essere trovati in
decision-forests/dist/
.
Nota finale
La compilazione di TF-DF si basa sul pacchetto TensorFlow Pip e sulla dipendenza TensorFlow Bazel. Verrà compilata solo una piccola parte di TensorFlow. La compilazione di TF-DF su una singola potente workstation richiede circa 10 minuti.