Cree un paquete pip de TensorFlow desde el código fuente e instálelo en Ubuntu Linux y macOS. Aunque las instrucciones podrían funcionar en otros sistemas, solo se han probado y son compatibles con Ubuntu y macOS.
Configuración para Linux y macOS
Instale las siguientes herramientas de compilación para configurar su entorno de desarrollo.
Instalar Python y las dependencias del paquete TensorFlow
Ubuntu
sudo apt install python3-dev python3-pip
macOS
Requiere Xcode 9.2 o posterior.
Instalar usando el administrador de paquetes Homebrew :
brew install python
Instale las dependencias del paquete pip de TensorFlow (si usa un entorno virtual, omita el argumento --user
):
pip install -U --user pip
Instalar Bazel
Para compilar TensorFlow, necesitará instalar Bazel. Bazelisk es una forma sencilla de instalar Bazel y descarga automáticamente la versión correcta de Bazel para TensorFlow. Para mayor facilidad de uso, agregue Bazelisk como el ejecutable bazel
en su PATH
.
Si Bazelisk no está disponible, puede instalar Bazel manualmente. Asegúrese de instalar la versión correcta de Bazel desde el archivo .bazelversion de TensorFlow.
Instalar Clang (recomendado, solo Linux)
Clang es un compilador de C/C++/Objective-C compilado en C++ basado en LLVM. Es el compilador predeterminado para compilar TensorFlow a partir de TensorFlow 2.13. La versión compatible actual es LLVM/Clang 17.
Los paquetes nocturnos de LLVM para Debian/Ubuntu proporcionan un script de instalación automática y paquetes para la instalación manual en Linux. Asegúrese de ejecutar el siguiente comando si añade manualmente el repositorio llvm apt al origen de sus paquetes:
sudo apt-get update && sudo apt-get install -y llvm-17 clang-17
Ahora bien, /usr/lib/llvm-17/bin/clang
es la ruta real a clang en este caso.
Alternativamente, puedes descargar y descomprimir el Clang + LLVM 17 preconstruido.
A continuación se muestra un ejemplo de los pasos que puede seguir para configurar los binarios Clang + LLVM 17 descargados en los sistemas operativos Debian/Ubuntu:
Cambie al directorio de destino deseado:
cd <desired directory>
Cargue y extraiga un archivo comprimido...(adecuado para su arquitectura):
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.2/clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xz
tar -xvf clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xz
Copia el contenido extraído (directorios y archivos) a
/usr
(puede que necesites permisos de sudo, y el directorio correcto puede variar según la distribución). Esto instala Clang y LLVM y los añade a la ruta. No deberías tener que reemplazar nada, a menos que tengas una instalación previa, en cuyo caso deberías reemplazar los archivos:cp -r clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04/* /usr
Compruebe la versión de binarios Clang + LLVM 17 obtenida:
clang --version
Ahora que
/usr/bin/clang
es la ruta real a tu nuevo clang, puedes ejecutar el script./configure
o configurar manualmente las variables de entornoCC
yBAZEL_COMPILER
en esta ruta.
Instalar compatibilidad con GPU (opcional, solo Linux)
No hay soporte de GPU para macOS.
Lea la guía de soporte de GPU para instalar los controladores y el software adicional necesarios para ejecutar TensorFlow en una GPU.
Descargue el código fuente de TensorFlow
Utilice Git para clonar el repositorio de TensorFlow :
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
El repositorio predeterminado es la rama de desarrollo master
. También puedes consultar una rama de lanzamiento para compilar:
git checkout branch_name # r2.2, r2.3, etc.
Configurar la compilación
Las compilaciones de TensorFlow se configuran mediante el archivo .bazelrc
en el directorio raíz del repositorio. Los scripts ./configure
o ./configure.py
permiten ajustar la configuración común.
Ejecute el script ./configure
desde el directorio raíz del repositorio. Este script le solicitará la ubicación de las dependencias de TensorFlow y opciones de configuración de compilación adicionales (por ejemplo, indicadores del compilador). Consulte la sección "Sesión de ejemplo" para obtener más información.
./configure
También existe una versión de este script en Python, ./configure.py
. Si se usa un entorno virtual, python configure.py
prioriza las rutas dentro del entorno, mientras que ./configure
prioriza las rutas fuera del entorno. En ambos casos, se puede cambiar el valor predeterminado.
Sesión de muestra
A continuación se muestra un ejemplo de ejecución del script ./configure
(su sesión puede ser diferente):
Opciones de configuración
Compatibilidad con GPU
desde la versión v.2.18.0
Para compatibilidad con GPU , configure cuda=Y
durante la configuración y especifique las versiones de CUDA y cuDNN si es necesario. Bazel descargará automáticamente los paquetes de CUDA y CUDNN o indicará las redistribuciones de CUDA/CUDNN/NCCL en el sistema de archivos local si es necesario.
antes de la v.2.18.0
Para compatibilidad con GPU , configure cuda=Y
durante la configuración y especifique las versiones de CUDA y cuDNN. Si su sistema tiene varias versiones de CUDA o cuDNN instaladas, configure la versión explícitamente en lugar de usar la predeterminada. ./configure
crea enlaces simbólicos a las bibliotecas CUDA de su sistema; por lo tanto, si actualiza las rutas de las bibliotecas CUDA, este paso de configuración debe ejecutarse de nuevo antes de compilar.
Optimizaciones
Para las opciones de optimización de compilación, el valor predeterminado ( -march=native
) optimiza el código generado para el tipo de CPU de su máquina. Sin embargo, si compila TensorFlow para un tipo de CPU diferente, considere una opción de optimización más específica. Consulte el manual de GCC para ver ejemplos.
Configuraciones preconfiguradas
Hay algunas configuraciones de compilación preconfiguradas disponibles que se pueden agregar al comando bazel build
, por ejemplo:
-
--config=dbg
—Compilar con información de depuración. Consulte CONTRIBUTING.md para más detalles. -
--config=mkl
—Compatibilidad con Intel® MKL-DNN . -
--config=monolithic
—Configuración para una compilación monolítica y mayoritariamente estática.
Construya e instale el paquete pip
Opciones de compilación de Bazel
Consulte la referencia de la línea de comandos de Bazel para conocer las opciones de compilación .
Desarrollar TensorFlow desde el código fuente puede consumir mucha RAM. Si su sistema tiene limitaciones de memoria, limite el uso de RAM de Bazel con: --local_ram_resources=2048
.
Los paquetes oficiales de TensorFlow se construyen con una cadena de herramientas Clang que cumple con el estándar de paquetes manylinux2014.
Construir el paquete
Para crear un paquete pip, debe especificar el indicador --repo_env=WHEEL_NAME
. Dependiendo del nombre proporcionado, se creará el paquete, por ejemplo:
Para crear el paquete de CPU de TensorFlow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu
Para crear el paquete GPU de tensorflow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda --config=cuda_wheel
Para crear el paquete TPU de tensorflow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_tpu --config=tpu
Para crear un paquete nocturno, configure tf_nightly
en lugar de tensorflow
, por ejemplo, para crear un paquete nocturno de CPU:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tf_nightly_cpu
Como resultado, la rueda generada se ubicará en
bazel-bin/tensorflow/tools/pip_package/wheel_house/
Instalar el paquete
El nombre del archivo .whl
generado depende de la versión de TensorFlow y de la plataforma. Use pip install
para instalar el paquete, por ejemplo:
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Compilaciones de Docker para Linux
Las imágenes de desarrollo de Docker de TensorFlow son una forma sencilla de configurar un entorno para compilar paquetes de Linux desde el código fuente. Estas imágenes ya contienen el código fuente y las dependencias necesarias para compilar TensorFlow. Consulta la guía de Docker de TensorFlow para obtener instrucciones de instalación y la lista de etiquetas de imagen disponibles .
Solo CPU
El siguiente ejemplo usa la imagen :devel
para crear un paquete solo para CPU a partir del código fuente más reciente de TensorFlow. Consulta la guía de Docker para ver las etiquetas -devel
de TensorFlow disponibles.
Descargue la última imagen de desarrollo e inicie un contenedor Docker que usará para compilar el paquete pip :
docker pull tensorflow/tensorflow:devel
docker run -it -w /tensorflow_src -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel bash
git pull # within the container, download the latest source code
El comando docker run
anterior inicia un shell en el directorio /tensorflow_src
(la raíz del árbol de código fuente). Monta el directorio actual del host en el directorio /mnt
del contenedor y pasa la información del usuario del host al contenedor mediante una variable de entorno (usada para establecer permisos; Docker puede complicar este proceso).
Como alternativa, para crear una copia de host de TensorFlow dentro de un contenedor, monte el árbol de origen del host en el directorio /tensorflow
del contenedor:
docker run -it -w /tensorflow -v /path/to/tensorflow:/tensorflow -v $PWD:/mnt \ -e HOST_PERMS="\\((id -u):\\)(id -g)" tensorflow/tensorflow:devel bash
Con el árbol de origen configurado, cree el paquete TensorFlow dentro del entorno virtual del contenedor:
- Opcional: Configurar la compilación: esto solicita al usuario que responda preguntas de configuración de la compilación.
- Construya el paquete pip .
- Ajustar los permisos de propiedad del archivo para fuera del contenedor.
./configure # if necessary
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu --config=opt
`chown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Instalar y verificar el paquete dentro del contenedor:
pip uninstall tensorflow # remove current version
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
cd /tmp # don't import from source directory
python -c "import tensorflow as tf; print(tf.__version__)"
En su máquina host, el paquete pip de TensorFlow está en el directorio actual (con permisos de usuario del host): ./tensorflow- version - tags .whl
Compatibilidad con GPU
Docker es la forma más sencilla de integrar la compatibilidad de GPU con TensorFlow, ya que el equipo host solo requiere el controlador NVIDIA® (no es necesario instalar el kit de herramientas NVIDIA® CUDA® ). Consulta la guía de compatibilidad de GPU y la guía de Docker para TensorFlow para configurar nvidia-docker (solo para Linux).
El siguiente ejemplo descarga la imagen de TensorFlow :devel-gpu
y usa nvidia-docker
para ejecutar el contenedor con GPU. Esta imagen de desarrollo está configurada para compilar un paquete pip compatible con GPU:
docker pull tensorflow/tensorflow:devel-gpu
docker run --gpus all -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel-gpu bash
git pull # within the container, download the latest source code
Luego, dentro del entorno virtual del contenedor, cree el paquete TensorFlow con soporte de GPU:
./configure # if necessary
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda \ --config=cuda_wheel --config=opt
chown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Instale y verifique el paquete dentro del contenedor y busque una GPU:
pip uninstall tensorflow # remove current version
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
cd /tmp # don't import from source directory
python -c "import tensorflow as tf; print(\"Num GPUs Available: \", len(tf.config.list_physical_devices('GPU')))"
Configuraciones de compilación probadas
Linux
UPC
Versión | Versión de Python | Compilador | Herramientas de construcción |
---|---|---|---|
tensorflow-2.20.0 | 3.9-3.13 | Sonido 18.1.8 | Bazel 7.4.1 |
tensorflow-2.19.0 | 3.9-3.12 | Sonido 18.1.8 | Bazel 6.5.0 |
tensorflow-2.18.0 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 |
tensorflow-2.17.0 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 |
tensorflow-2.16.1 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 |
tensorflow-2.15.0 | 3.9-3.11 | Sonido 16.0.0 | Bazel 6.1.0 |
tensorflow-2.14.0 | 3.9-3.11 | Sonido 16.0.0 | Bazel 6.1.0 |
tensorflow-2.13.0 | 3.8-3.11 | Sonido 16.0.0 | Bazel 5.3.0 |
tensorflow-2.12.0 | 3.8-3.11 | CCG 9.3.1 | Bazel 5.3.0 |
tensorflow-2.11.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.3.0 |
tensorflow-2.10.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.1.1 |
tensorflow-2.9.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.0.0 |
tensorflow-2.8.0 | 3.7-3.10 | CCG 7.3.1 | Bazel 4.2.1 |
tensorflow-2.7.0 | 3.7-3.9 | CCG 7.3.1 | Bazel 3.7.2 |
tensorflow-2.6.0 | 3.6-3.9 | CCG 7.3.1 | Bazel 3.7.2 |
tensorflow-2.5.0 | 3.6-3.9 | CCG 7.3.1 | Bazel 3.7.2 |
tensorflow-2.4.0 | 3.6-3.8 | CCG 7.3.1 | Bazel 3.1.0 |
tensorflow-2.3.0 | 3.5-3.8 | CCG 7.3.1 | Bazel 3.1.0 |
tensorflow-2.2.0 | 3.5-3.8 | CCG 7.3.1 | Bazel 2.0.0 |
tensorflow-2.1.0 | 2.7, 3.5-3.7 | CCG 7.3.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2.7, 3.3-3.7 | CCG 7.3.1 | Bazel 0.26.1 |
tensorflow-1.15.0 | 2.7, 3.3-3.7 | CCG 7.3.1 | Bazel 0.26.1 |
tensorflow-1.14.0 | 2.7, 3.3-3.7 | CCG 4.8 | Bazel 0.24.1 |
tensorflow-1.13.1 | 2.7, 3.3-3.7 | CCG 4.8 | Bazel 0.19.2 |
tensorflow-1.12.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 |
tensorflow-1.11.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 |
tensorflow-1.10.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 |
tensorflow-1.9.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.11.0 |
tensorflow-1.8.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.10.0 |
tensorflow-1.7.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.10.0 |
tensorflow-1.6.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.9.0 |
tensorflow-1.5.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.8.0 |
tensorflow-1.4.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.5.4 |
tensorflow-1.3.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.5 |
tensorflow-1.2.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.5 |
tensorflow-1.1.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.2 |
tensorflow-1.0.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.2 |
GPU
Versión | Versión de Python | Compilador | Herramientas de construcción | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow-2.20.0 | 3.9-3.13 | Sonido 18.1.8 | Bazel 7.4.1 | 9.3 | 12.5 |
tensorflow-2.19.0 | 3.9-3.12 | Sonido 18.1.8 | Bazel 6.5.0 | 9.3 | 12.5 |
tensorflow-2.18.0 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 | 9.3 | 12.5 |
tensorflow-2.17.0 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 | 8.9 | 12.3 |
tensorflow-2.16.1 | 3.9-3.12 | Sonido 17.0.6 | Bazel 6.5.0 | 8.9 | 12.3 |
tensorflow-2.15.0 | 3.9-3.11 | Sonido 16.0.0 | Bazel 6.1.0 | 8.9 | 12.2 |
tensorflow-2.14.0 | 3.9-3.11 | Sonido 16.0.0 | Bazel 6.1.0 | 8.7 | 11.8 |
tensorflow-2.13.0 | 3.8-3.11 | Sonido 16.0.0 | Bazel 5.3.0 | 8.6 | 11.8 |
tensorflow-2.12.0 | 3.8-3.11 | CCG 9.3.1 | Bazel 5.3.0 | 8.6 | 11.8 |
tensorflow-2.11.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.3.0 | 8.1 | 11.2 |
tensorflow-2.10.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.1.1 | 8.1 | 11.2 |
tensorflow-2.9.0 | 3.7-3.10 | CCG 9.3.1 | Bazel 5.0.0 | 8.1 | 11.2 |
tensorflow-2.8.0 | 3.7-3.10 | CCG 7.3.1 | Bazel 4.2.1 | 8.1 | 11.2 |
tensorflow-2.7.0 | 3.7-3.9 | CCG 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.6.0 | 3.6-3.9 | CCG 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.5.0 | 3.6-3.9 | CCG 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.4.0 | 3.6-3.8 | CCG 7.3.1 | Bazel 3.1.0 | 8.0 | 11.0 |
tensorflow-2.3.0 | 3.5-3.8 | CCG 7.3.1 | Bazel 3.1.0 | 7.6 | 10.1 |
tensorflow-2.2.0 | 3.5-3.8 | CCG 7.3.1 | Bazel 2.0.0 | 7.6 | 10.1 |
tensorflow-2.1.0 | 2.7, 3.5-3.7 | CCG 7.3.1 | Bazel 0.27.1 | 7.6 | 10.1 |
tensorflow-2.0.0 | 2.7, 3.3-3.7 | CCG 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
tensorflow_gpu-1.15.0 | 2.7, 3.3-3.7 | CCG 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
tensorflow_gpu-1.14.0 | 2.7, 3.3-3.7 | CCG 4.8 | Bazel 0.24.1 | 7.4 | 10.0 |
tensorflow_gpu-1.13.1 | 2.7, 3.3-3.7 | CCG 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
tensorflow_gpu-1.12.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.11.0 | 7 | 9 |
tensorflow_gpu-1.8.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.10.0 | 7 | 9 |
tensorflow_gpu-1.7.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.6.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.5.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow_gpu-1.4.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow_gpu-1.3.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow_gpu-1.2.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | CCG 4.8 | Bazel 0.4.2 | 5.1 | 8 |
macOS
UPC
Versión | Versión de Python | Compilador | Herramientas de construcción |
---|---|---|---|
tensorflow-2.16.1 | 3.9-3.12 | Sonido metálico de Xcode 13.6 | Bazel 6.5.0 |
tensorflow-2.15.0 | 3.9-3.11 | Sonido metálico de Xcode 10.15 | Bazel 6.1.0 |
tensorflow-2.14.0 | 3.9-3.11 | Sonido metálico de Xcode 10.15 | Bazel 6.1.0 |
tensorflow-2.13.0 | 3.8-3.11 | Sonido metálico de Xcode 10.15 | Bazel 5.3.0 |
tensorflow-2.12.0 | 3.8-3.11 | Sonido metálico de Xcode 10.15 | Bazel 5.3.0 |
tensorflow-2.11.0 | 3.7-3.10 | Sonido metálico de Xcode 10.14 | Bazel 5.3.0 |
tensorflow-2.10.0 | 3.7-3.10 | Sonido metálico de Xcode 10.14 | Bazel 5.1.1 |
tensorflow-2.9.0 | 3.7-3.10 | Sonido metálico de Xcode 10.14 | Bazel 5.0.0 |
tensorflow-2.8.0 | 3.7-3.10 | Sonido metálico de Xcode 10.14 | Bazel 4.2.1 |
tensorflow-2.7.0 | 3.7-3.9 | Sonido metálico de Xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.6.0 | 3.6-3.9 | Sonido metálico de Xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.5.0 | 3.6-3.9 | Sonido metálico de Xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.4.0 | 3.6-3.8 | Sonido metálico de Xcode 10.3 | Bazel 3.1.0 |
tensorflow-2.3.0 | 3.5-3.8 | Sonido metálico de Xcode 10.1 | Bazel 3.1.0 |
tensorflow-2.2.0 | 3.5-3.8 | Sonido metálico de Xcode 10.1 | Bazel 2.0.0 |
tensorflow-2.1.0 | 2.7, 3.5-3.7 | Sonido metálico de Xcode 10.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2.7, 3.5-3.7 | Sonido metálico de Xcode 10.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2.7, 3.3-3.7 | Sonido metálico de Xcode 10.1 | Bazel 0.26.1 |
tensorflow-1.15.0 | 2.7, 3.3-3.7 | Sonido metálico de Xcode 10.1 | Bazel 0.26.1 |
tensorflow-1.14.0 | 2.7, 3.3-3.7 | Sonido metálico de Xcode | Bazel 0.24.1 |
tensorflow-1.13.1 | 2.7, 3.3-3.7 | Sonido metálico de Xcode | Bazel 0.19.2 |
tensorflow-1.12.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.15.0 |
tensorflow-1.11.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.15.0 |
tensorflow-1.10.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.15.0 |
tensorflow-1.9.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.11.0 |
tensorflow-1.8.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.10.1 |
tensorflow-1.7.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.10.1 |
tensorflow-1.6.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.8.1 |
tensorflow-1.5.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.8.1 |
tensorflow-1.4.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.5.4 |
tensorflow-1.3.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.5 |
tensorflow-1.2.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.5 |
tensorflow-1.1.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.2 |
tensorflow-1.0.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.2 |
GPU
Versión | Versión de Python | Compilador | Herramientas de construcción | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | Sonido metálico de Xcode | Bazel 0.4.2 | 5.1 | 8 |