Instalación con Pip
Instale TensorFlow Decision Forests ejecutando:
# Install TensorFlow Decision Forests.
pip3 install tensorflow_decision_forests --upgrade
Luego, verifique la instalación ejecutando:
# Check the version of TensorFlow Decision Forests.
python3 -c "import tensorflow_decision_forests as tfdf; print('Found TF-DF v' + tfdf.__version__)"
Construir desde la fuente
linux
Configuración
Requisitos
- Bazel >= 3.7.2
- Pitón >= 3
- git
- Paquetes de Python: numerosos pandas de tensorflow
En lugar de instalar las dependencias manualmente, puede utilizar la ventana acoplable TensorFlow Build . Si elige estas opciones, instale Docker:
- Docker .
Compilacion
Descargue TensorFlow Decision Forests de la siguiente manera:
# Download the source code of TF-DF.
git clone https://github.com/tensorflow/decision-forests.git
cd decision-forests
Opcional: TensorFlow Decision Forests depende de Yggdrasil Decision Forests . Si desea editar el código de Yggdrasil, puede clonar el github de Yggdrasil y cambiar la ruta en consecuencia third_party/yggdrasil_decision_forests/workspace.bzl
.
Opcional: si desea utilizar la opción Docker, ejecute el script start_compile_docker.sh
y continúe con el siguiente paso. Si no desea utilizar la opción de la ventana acoplable, continúe directamente con el siguiente paso.
# Optional: Install and start the build docker.
./tools/start_compile_docker.sh
Compile y ejecute las pruebas unitarias de TF-DF con el siguiente comando. Tenga en cuenta que test_bazel.sh
está configurado para python3.8
y el compilador predeterminado en su máquina. Edite el archivo directamente para cambiar esta configuración.
# Build and test TF-DF.
./tools/test_bazel.sh
Cree y pruebe un paquete pip con el siguiente comando. Reemplace python3.8 por la versión de Python que desea usar. Tenga en cuenta que no es necesario utilizar la misma versión de Python que en el script test_bazel.sh
.
Si su configuración es compatible con manylinux2014 , se producirá un paquete pip compatible con manylinux2014
.
Si su configuración no es compatible con manylinux2014, se producirá un paquete pip no compatible con manylinux2014
y la verificación final fallará. No importa si desea utilizar TF-DF en su propia máquina. Una forma sencilla de hacer que la compilación manylinux2014 sea compatible es utilizar la ventana acoplable mencionada anteriormente.
# Build and test a Pip package.
./tools/build_pip_package.sh python3.9
Este comando instalará el paquete pip TF-DF y ejecutará el ejemplo en examples/minimal.py
. El paquete Pip se encuentra en el directorio dist/
.
Si desea crear un paquete Pip para la otra versión compatible de Python, ejecute:
# 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
Alternativamente , puede crear el paquete pip para todas las versiones compatibles de Python usando pyenv ejecutando el siguiente comando. Consulte el encabezado de tools/build_pip_package.sh
para obtener más detalles.
# Build and test all the Pip package using Pyenv.
./tools/build_pip_package.sh ALL_VERSIONS
Mac OS
Configuración
Requisitos
- Herramientas de línea de comando XCode
- Bazel (recomendado Bazelisco )
- Pitón >= 3.9
- git
- Pyenv (para crear paquetes Pip con múltiples versiones de Python)
Construcción/Embalaje (CPU Apple)
Si tiene una máquina MacOS con CPU Apple, puede compilarla con las siguientes instrucciones.
Clona los tres repositorios y ajusta las rutas.
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
Es posible que deba ajustar el script test_bazel.sh manualmente para corregir el hash de confirmación de Tensorflow, ya que a veces no funciona en las compilaciones de MacOS.
(Opcional) Cree un entorno virtual nuevo y actívelo
python3 -m venv venv source venv/source/activate
Ajustar la dependencia de TensorFlow para las CPU de Apple
perl -0777 -i.original -pe 's/tensorflow~=/tensorflow-macos~=/igs' decision-forests/configure/setup.py
Decide qué versión de Python quieres usar y ejecutar
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
Construya los paquetes 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
Los paquetes se pueden encontrar en
decision-forests/dist/
.
Compilación cruzada para CPU Intel
Si tiene una máquina MacOS con CPU Apple, realice una compilación cruzada de TF-DF para máquinas MacOS con CPU Intel de la siguiente manera.
Siga los pasos 1 a 3 y 5 de la guía para CPU de Apple, omita el paso 4 . Es posible que necesites ejecutar
bazel --bazelrc=tensorflow_bazelrc clean --expunge
para limpiar tu directorio de compilación.Decide qué versión de Python quieres usar y ejecutar
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
Construya los paquetes 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
Los paquetes se pueden encontrar en
decision-forests/dist/
.
nota final
La compilación de TF-DF se basa en el paquete TensorFlow Pip y la dependencia de TensorFlow Bazel. Solo se compilará una pequeña parte de TensorFlow. La compilación de TF-DF en una única y potente estación de trabajo lleva aproximadamente 10 minutos.