Installation avec Pip
Installez les forêts de décision TensorFlow en exécutant :
# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade
Ensuite, vérifiez l'installation avec en exécutant :
# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"
Construire à partir de la source
Linux
Installer
Conditions
- Bazel >= 3.7.2
- Python >= 3
- Gite
- Paquets Python : pandas numpy tensorflow
Au lieu d'installer les dépendances à la main, vous pouvez utiliser le menu fixe TensorFlow Build . Si vous choisissez cette option, installez Docker :
- Docker .
Compilation
Téléchargez les forêts de décision TensorFlow comme suit :
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
Facultatif : les forêts de décision TensorFlow dépendent des forêts de décision Yggdrasil . Si vous souhaitez modifier le code Yggdrasil, vous pouvez cloner le github Yggdrasil et modifier le chemin en conséquence dans third_party/yggdrasil_decision_forests/workspace.bzl
.
Facultatif : si vous souhaitez utiliser l'option docker, exécutez le script start_compile_docker.sh
et passez à l'étape suivante. Si vous ne souhaitez pas utiliser l'option Docker, passez directement à l'étape suivante.
# Optional: Install and start the build docker.
./tools/start_compile_docker.sh
Compilez et exécutez les tests unitaires de TF-DF avec la commande suivante. Notez que test_bazel.sh
est configuré pour python3.8
et le compilateur par défaut sur votre machine. Modifiez directement le fichier pour modifier cette configuration.
# Build and test TF-DF.
./tools/test_bazel.sh
Créez et testez un package pip avec la commande suivante. Remplacez python3.8 par la version de python que vous souhaitez utiliser. Notez que vous n'êtes pas obligé d'utiliser la même version de Python que dans le script test_bazel.sh
.
Si votre configuration est compatible avec manylinux2014 , un paquet pip compatible manylinux2014
sera produit.
Si votre configuration n'est pas compatible avec manylinux2014, un paquet pip non compatible avec manylinux2014
sera produit et la vérification finale échouera. Peu importe si vous souhaitez utiliser TF-DF sur votre propre machine. Un moyen simple de rendre la build manylinux2014 compatible est d'utiliser le docker mentionné ci-dessus.
# Build and test a Pip package.
./tools/build_pip_package.sh python3.8
Cette commande installera le package pip TF-DF et exécutera l'exemple dans examples/minimal.py
. Le paquet Pip se trouve dans le répertoire dist/
.
Si vous souhaitez créer un package Pip pour l'autre version compatible de Python, exécutez :
# Install the other versions of python (assume only python3.8 is installed; this is the case in the build docker).
sudo apt-get update && sudo apt-get install python3.7 python3.9 python3-pip
# Create the Pip package for the other version of python
./tools/build_pip_package.sh python3.7
./tools/build_pip_package.sh python3.9
Alternativement , vous pouvez créer le package pip pour toutes les versions compatibles de python en utilisant pyenv en exécutant la commande suivante. Voir l'en-tête de tools/build_pip_package.sh
pour plus de détails.
# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS
Mac OS
Installer
Conditions
- Outils de ligne de commande XCode
- Bazel ( Bazelisk recommandé)
- Python >= 3.8
- Gite
- Pyenv (pour créer les packages Pip avec plusieurs versions de Python)
Construction / Conditionnement (CPU Apple)
Si vous avez une machine MacOS avec Apple CPU, vous pouvez construire avec les instructions suivantes.
Clonez les trois référentiels et ajustez les chemins.
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
(Facultatif) Créez un nouvel environnement virtuel et activez-le
python3 -m venv venv source venv/source/activate
Ajuster la dépendance TensorFlow pour les processeurs Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
Décidez quelle version de Python vous voulez utiliser et exécuter
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
Construire les packages 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
Les packages peuvent être trouvés dans
decision-forests/dist/
.
Compilation croisée pour les processeurs Intel
Si vous avez une machine MacOS avec un processeur Apple, effectuez une compilation croisée de TF-DF pour les machines MacOS avec des processeurs Intel comme suit.
Suivez les étapes 1 à 3 et 5 du guide pour les processeurs Apple, ignorez l'étape 4 .
Décidez quelle version de Python vous voulez utiliser et exécuter
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
Construire les packages 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
Les packages peuvent être trouvés dans
decision-forests/dist/
.
Remarque finale
La compilation de TF-DF repose sur le package TensorFlow Pip et la dépendance TensorFlow Bazel. Seule une petite partie de TensorFlow sera compilée. La compilation de TF-DF sur un seul poste de travail puissant prend environ 10 minutes.