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
Dettagli tecnici
TensorFlow Decision Forests (TF-DF) implementa operazioni personalizzate per TensorFlow e pertanto dipende dall'ABI di TensorFlow. Poiché l'ABI può cambiare da una versione all'altra, qualsiasi versione TF-DF è compatibile solo con una specifica versione di TensorFlow.
Per evitare di compilare e spedire tutto TensorFlow con TF-DF, TF-DF si collega alla libreria condivisa libtensorflow distribuita con il pacchetto Pip di TensorFlow. Viene compilata solo una piccola parte di Tensorflow e la compilazione richiede solo circa 10 minuti su una workstation potente (invece di diverse ore quando si compila tutto TensorFlow). Per garantire che funzioni, la versione di TensorFlow effettivamente compilata e la libreria condivisa libtensorflow devono corrispondere esattamente.
Lo script tools/test_bazel.sh
configura la build TF-DF per garantire che le versioni dei pacchetti utilizzati corrispondano. Per i dettagli su questo processo, vedere il codice sorgente di questo script. Poiché la compilazione di TensorFlow cambia spesso, supporta solo la compilazione con le versioni TensorFlow più recenti e di notte.
Linux
Creazione Docker
Il modo più semplice per creare TF-DF su Linux è utilizzare la finestra mobile Build di TensorFlow. Basta eseguire i seguenti passaggi per creare:
./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
Ciò inserisce il codice C++ compilato nella directory bazel-bin
. Tieni presente che questo è un collegamento simbolico che non viene esposto all'esterno del contenitore (ovvero la build scompare dopo aver lasciato il contenitore).
Per costruire le ruote, corri
tools/build_pip_package.sh ALL_VERSIONS INSTALL_PYENV
Questo installerà Pyenv e Pyenv-virtualenv all'interno della finestra mobile e lo utilizzerà per installare Python in tutte le versioni supportate per la creazione. Le ruote vengono posizionate nella sottodirectory dist/
.
Costruzione manuale
Costruire TF-DF senza la finestra mobile potrebbe essere più difficile e il team probabilmente non è in grado di aiutare in questo.
Requisiti
- Bazel >= 6.3.0
- Pitone >= 3
- Va bene
- Pyenv, Pyenv-virtualenv (solo se si crea il pacchetto per molte versioni Python)
Edificio
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 repository Yggdrasil e modificare il percorso di conseguenza in third_party/yggdrasil_decision_forests/workspace.bzl
.
Compila ed esegui gli unit test di TF-DF con il seguente comando. Tieni presente che test_bazel.sh
è configurato per il compilatore predefinito sul tuo computer. Modifica direttamente il file per cambiare questa configurazione.
# Build and test TF-DF.
RUN_TESTS=1 PY_VERSION=3.9 TF_VERSION=2.16.1 ./tools/test_bazel.sh
Crea e testa un pacchetto pip con il comando seguente. Sostituisci python3.9 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 con 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 sulla tua macchina. 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
MacOS
Impostare
Requisiti
- Strumenti da riga di comando XCode
- Bazel (consigliato Bazelisk )
- Pacchetti homebrew: GNU coreutils, GNU sed, GNU grep
- Pyenv (per creare pacchetti Pip con più versioni Python)
CPU Arm64
Per i sistemi MacOS con CPU ARM64, attenersi alla seguente procedura:
Prepara il tuo ambiente
git clone https://github.com/tensorflow/decision-forests.git python3 -m venv venv source venv/bin/activate
Decidi quale versione di Python e di TensorFlow desideri utilizzare ed eseguire
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.
Imballa la build.
# Building the packages uses different virtualenvs through Pyenv. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS
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.
Prepara il tuo ambiente
git clone https://github.com/tensorflow/decision-forests.git python3 -m venv venv source venv/source/activate
Decidi quale versione di Python desideri utilizzare ed eseguire
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.
Imballa la build.
# Building the packages uses different virtualenvs through Pyenv. deactivate # Build the packages. ./tools/build_pip_package.sh ALL_VERSIONS_MAC_INTEL_CROSSCOMPILE
I pacchetti possono essere trovati in
decision-forests/dist/
. Tieni presente che non sono stati testati e sarebbe prudente testarli prima della distribuzione.
Finestre
In passato è stata prodotta con successo una build di Windows, ma al momento non viene mantenuta. Vedere tools/test_bazel.bat
e tools/test_bazel.sh
per puntatori (probabilmente obsoleti) per la compilazione su Windows.
Per gli utenti Windows, YDF offre build ufficiali di Windows e la maggior parte delle funzionalità (e altro!) di TF-DF.