Créez un package pip TensorFlow à partir des sources et installez-le sur Ubuntu Linux et macOS. Bien que ces instructions puissent fonctionner sur d'autres systèmes, elles ne sont testées et prises en charge que sur Ubuntu et macOS.
Configuration pour Linux et macOS
Installez les outils de build suivants pour configurer votre environnement de développement.
Installer Python et les dépendances du package TensorFlow
Ubuntu
sudo apt install python3-dev python3-pipmacOS
Nécessite Xcode 9.2 ou version ultérieure.
Installer à l'aide du gestionnaire de paquets Homebrew :
brew install python Installez les dépendances du package pip TensorFlow (si vous utilisez un environnement virtuel, omettez l'argument --user ) :
pip install -U --user pipInstaller Bazel
Pour créer TensorFlow, vous devez installer Bazel. Bazelisk est un moyen simple d'installer Bazel et télécharge automatiquement la version appropriée de Bazel pour TensorFlow. Pour plus de simplicité, ajoutez Bazelisk comme exécutable bazel dans votre PATH .
Si Bazelisk n'est pas disponible, vous pouvez installer Bazel manuellement. Assurez-vous d'installer la bonne version de Bazel depuis le fichier .bazelversion de TensorFlow.
Installer Clang (recommandé, Linux uniquement)
Clang est un compilateur C/C++/Objective-C compilé en C++ et basé sur LLVM. C'est le compilateur par défaut pour TensorFlow à partir de TensorFlow 2.13. La version actuellement prise en charge est LLVM/Clang 17.
Les paquets nocturnes LLVM pour Debian/Ubuntu fournissent un script d'installation automatique et des paquets pour une installation manuelle sous Linux. Assurez-vous d'exécuter la commande suivante si vous ajoutez manuellement le dépôt LLVM apt à vos sources de paquets :
sudo apt-get update && sudo apt-get install -y llvm-17 clang-17 Maintenant que /usr/lib/llvm-17/bin/clang est le chemin réel vers clang dans ce cas.
Alternativement, vous pouvez télécharger et décompresser le Clang + LLVM 17 pré-compilé.
Vous trouverez ci-dessous un exemple d'étapes que vous pouvez suivre pour configurer les binaires Clang + LLVM 17 téléchargés sur les systèmes d'exploitation Debian/Ubuntu :
Accédez au répertoire de destination souhaité :
cd <desired directory>Charger et extraire un fichier d'archive... (adapté à votre architecture) :
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.xztar -xvf clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xzCopiez le contenu extrait (répertoires et fichiers) dans
/usr(vous aurez peut-être besoin des autorisations sudo, et le répertoire approprié peut varier selon la distribution). Cela installe Clang et LLVM et les ajoute au chemin d'accès. Vous ne devriez rien avoir à remplacer, sauf si vous disposez d'une installation précédente, auquel cas vous devrez remplacer les fichiers :cp -r clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04/* /usrVérifiez la version des binaires Clang + LLVM 17 obtenue :
clang --versionMaintenant que
/usr/bin/clangest le chemin d'accès réel à votre nouveau clang, vous pouvez exécuter le script./configureou définir manuellement les variables d'environnementCCetBAZEL_COMPILERsur ce chemin.
Installer la prise en charge du GPU (facultatif, Linux uniquement)
Il n'y a pas de support GPU pour macOS.
Lisez le guide de support GPU pour installer les pilotes et les logiciels supplémentaires requis pour exécuter TensorFlow sur un GPU.
Télécharger le code source de TensorFlow
Utilisez Git pour cloner le référentiel TensorFlow :
git clone https://github.com/tensorflow/tensorflow.gitcd tensorflow
Le dépôt utilise par défaut la branche de développement master . Vous pouvez également consulter une branche de publication pour compiler :
git checkout branch_name # r2.2, r2.3, etc.
Configurer la construction
Les builds TensorFlow sont configurées par le fichier .bazelrc , situé dans le répertoire racine du dépôt. Les scripts ./configure ou ./configure.py permettent d'ajuster les paramètres courants.
Veuillez exécuter le script ./configure depuis le répertoire racine du dépôt. Ce script vous demandera l'emplacement des dépendances TensorFlow et des options de configuration de build supplémentaires (indicateurs de compilation, par exemple). Consultez la section « Exemple de session » pour plus de détails.
./configure
Il existe également une version Python de ce script : ./configure.py . Si vous utilisez un environnement virtuel, python configure.py priorise les chemins internes à l'environnement, tandis que ./configure priorise les chemins externes. Dans les deux cas, vous pouvez modifier la valeur par défaut.
Exemple de séance
Ce qui suit montre un exemple d'exécution du script ./configure (votre session peut être différente) :
Options de configuration
Prise en charge du GPU
à partir de la version 2.18.0
Pour la prise en charge du GPU , définissez cuda=Y lors de la configuration et spécifiez les versions de CUDA et cuDNN si nécessaire. Bazel téléchargera automatiquement les packages CUDA et CUDNN ou pointera vers les redistributions CUDA/CUDNN/NCCL sur le système de fichiers local si nécessaire.
avant la v.2.18.0
Pour la prise en charge GPU , définissez cuda=Y lors de la configuration et spécifiez les versions de CUDA et cuDNN. Si votre système possède plusieurs versions de CUDA ou cuDNN, définissez explicitement la version au lieu de vous fier à la version par défaut. ./configure crée des liens symboliques vers les bibliothèques CUDA de votre système. Ainsi, si vous mettez à jour les chemins de vos bibliothèques CUDA, cette étape de configuration doit être réexécutée avant la compilation.
Optimisations
Pour les options d'optimisation de la compilation, la valeur par défaut ( -march=native ) optimise le code généré pour le type de processeur de votre machine. Cependant, si vous compilez TensorFlow pour un autre type de processeur, envisagez une option d'optimisation plus spécifique. Consultez le manuel GCC pour des exemples.
Configurations préconfigurées
Il existe certaines configurations de build préconfigurées disponibles qui peuvent être ajoutées à la commande bazel build , par exemple :
-
--config=dbg— Compilé avec les informations de débogage. Voir CONTRIBUTING.md pour plus de détails. -
--config=mkl— Prise en charge du Intel® MKL-DNN . -
--config=monolithic— Configuration pour une construction principalement statique et monolithique.
Construire et installer le package pip
Options de construction de Bazel
Reportez-vous à la référence de la ligne de commande Bazel pour les options de construction .
La compilation de TensorFlow à partir des sources peut consommer beaucoup de RAM. Si votre système est limité en mémoire, limitez l'utilisation de la RAM par Bazel avec : --local_ram_resources=2048 .
Les packages officiels TensorFlow sont construits avec une chaîne d'outils Clang conforme à la norme de package manylinux2014.
Construire le package
Pour créer un package pip, vous devez spécifier l'indicateur --repo_env=WHEEL_NAME . En fonction du nom fourni, le package sera créé, par exemple :
Pour créer le package CPU tensorflow :
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu
Pour créer le package GPU tensorflow :
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda --config=cuda_wheel
Pour créer le package TPU tensorflow :
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_tpu --config=tpu
Pour créer un package nocturne, définissez tf_nightly au lieu de tensorflow , par exemple pour créer un package CPU nocturne :
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tf_nightly_cpu
En conséquence, la roue générée sera située dans
bazel-bin/tensorflow/tools/pip_package/wheel_house/
Installer le paquet
Le nom du fichier .whl généré dépend de la version de TensorFlow et de votre plateforme. Utilisez pip install pour installer le package, par exemple :
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Versions Docker Linux
Les images de développement Docker de TensorFlow permettent de configurer facilement un environnement pour créer des packages Linux à partir des sources. Ces images contiennent déjà le code source et les dépendances nécessaires à la création de TensorFlow. Consultez le guide Docker de TensorFlow pour obtenir les instructions d'installation et la liste des balises d'image disponibles .
CPU uniquement
L'exemple suivant utilise l'image :devel pour créer un package dédié au processeur à partir du dernier code source TensorFlow. Consultez le guide Docker pour connaître les balises TensorFlow -devel disponibles.
Téléchargez la dernière image de développement et démarrez un conteneur Docker que vous utiliserez pour créer le package pip :
docker pull tensorflow/tensorflow:develdocker run -it -w /tensorflow_src -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel bashgit pull # within the container, download the latest source code
La commande docker run ci-dessus lance un shell dans le répertoire /tensorflow_src , la racine de l'arborescence source. Elle monte le répertoire courant de l'hôte dans le répertoire /mnt du conteneur et transmet les informations de l'utilisateur hôte au conteneur via une variable d'environnement (utilisée pour définir les autorisations, ce qui peut être complexe avec Docker).
Alternativement, pour créer une copie hôte de TensorFlow dans un conteneur, montez l'arborescence source de l'hôte dans le répertoire /tensorflow du conteneur :
docker run -it -w /tensorflow -v /path/to/tensorflow:/tensorflow -v $PWD:/mnt \ -e HOST_PERMS="\\((id -u):\\)(id -g)" tensorflow/tensorflow:devel bash
Une fois l'arborescence source configurée, créez le package TensorFlow dans l'environnement virtuel du conteneur :
- Facultatif : Configurer la build : cela invite l’utilisateur à répondre aux questions de configuration de la build.
- Construisez le package pip .
- Ajustez les autorisations de propriété du fichier pour l'extérieur du conteneur.
./configure # if necessarybazel 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
Installez et vérifiez le package dans le conteneur :
pip uninstall tensorflow # remove current versionpip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whlcd /tmp # don't import from source directorypython -c "import tensorflow as tf; print(tf.__version__)"
Sur votre machine hôte, le package pip TensorFlow se trouve dans le répertoire actuel (avec les autorisations de l'utilisateur hôte) : ./tensorflow- version - tags .whl
Prise en charge du GPU
Docker est le moyen le plus simple de prendre en charge le GPU pour TensorFlow, car la machine hôte ne nécessite que le pilote NVIDIA® (il n'est pas nécessaire d'installer NVIDIA® CUDA® Toolkit ). Consultez le guide de prise en charge du GPU et le guide TensorFlow Docker pour configurer nvidia-docker (Linux uniquement).
L'exemple suivant télécharge l'image TensorFlow :devel-gpu et utilise nvidia-docker pour exécuter le conteneur compatible GPU. Cette image de développement est configurée pour créer un package pip compatible GPU :
docker pull tensorflow/tensorflow:devel-gpudocker run --gpus all -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel-gpu bashgit pull # within the container, download the latest source code
Ensuite, dans l'environnement virtuel du conteneur, créez le package TensorFlow avec prise en charge GPU :
./configure # if necessarybazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda \ --config=cuda_wheel --config=optchown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Installez et vérifiez le package dans le conteneur et recherchez un GPU :
pip uninstall tensorflow # remove current versionpip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whlcd /tmp # don't import from source directorypython -c "import tensorflow as tf; print(\"Num GPUs Available: \", len(tf.config.list_physical_devices('GPU')))"
Configurations de build testées
Linux
processeur
| Version | Version Python | Compilateur | Créer des outils |
|---|---|---|---|
| tensorflow-2.20.0 | 3.9-3.13 | Clang 18.1.8 | Bazel 7.4.1 |
| tensorflow-2.19.0 | 3.9-3.12 | Clang 18.1.8 | Bazel 6.5.0 |
| tensorflow-2.18.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
| tensorflow-2.17.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
| tensorflow-2.16.1 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
| tensorflow-2.15.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 |
| tensorflow-2.14.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 |
| tensorflow-2.13.0 | 3.8-3.11 | Clang 16.0.0 | Bazel 5.3.0 |
| tensorflow-2.12.0 | 3.8-3.11 | GCC 9.3.1 | Bazel 5.3.0 |
| tensorflow-2.11.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.3.0 |
| tensorflow-2.10.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.1.1 |
| tensorflow-2.9.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.0.0 |
| tensorflow-2.8.0 | 3.7-3.10 | GCC 7.3.1 | Bazel 4.2.1 |
| tensorflow-2.7.0 | 3,7-3,9 | GCC 7.3.1 | Bazel 3.7.2 |
| tensorflow-2.6.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 |
| tensorflow-2.5.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 |
| tensorflow-2.4.0 | 3,6-3,8 | GCC 7.3.1 | Bazel 3.1.0 |
| tensorflow-2.3.0 | 3,5-3,8 | GCC 7.3.1 | Bazel 3.1.0 |
| tensorflow-2.2.0 | 3,5-3,8 | GCC 7.3.1 | Bazel 2.0.0 |
| tensorflow-2.1.0 | 2,7, 3,5-3,7 | GCC 7.3.1 | Bazel 0.27.1 |
| tensorflow-2.0.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 |
| tensorflow-1.15.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 |
| tensorflow-1.14.0 | 2.7, 3.3-3.7 | GCC 4.8 | Bazel 0.24.1 |
| tensorflow-1.13.1 | 2.7, 3.3-3.7 | GCC 4.8 | Bazel 0.19.2 |
| tensorflow-1.12.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
| tensorflow-1.11.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
| tensorflow-1.10.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
| tensorflow-1.9.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.11.0 |
| tensorflow-1.8.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.10.0 |
| tensorflow-1.7.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.10.0 |
| tensorflow-1.6.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.9.0 |
| tensorflow-1.5.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.8.0 |
| tensorflow-1.4.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.5.4 |
| tensorflow-1.3.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.5 |
| tensorflow-1.2.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.5 |
| tensorflow-1.1.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.2 |
| tensorflow-1.0.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.2 |
GPU
| Version | Version Python | Compilateur | Créer des outils | cuDNN | CUDA |
|---|---|---|---|---|---|
| tensorflow-2.20.0 | 3.9-3.13 | Clang 18.1.8 | Bazel 7.4.1 | 9.3 | 12,5 |
| tensorflow-2.19.0 | 3.9-3.12 | Clang 18.1.8 | Bazel 6.5.0 | 9.3 | 12,5 |
| tensorflow-2.18.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 9.3 | 12,5 |
| tensorflow-2.17.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 8,9 | 12.3 |
| tensorflow-2.16.1 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 8,9 | 12.3 |
| tensorflow-2.15.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 | 8,9 | 12.2 |
| tensorflow-2.14.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 | 8.7 | 11,8 |
| tensorflow-2.13.0 | 3.8-3.11 | Clang 16.0.0 | Bazel 5.3.0 | 8.6 | 11,8 |
| tensorflow-2.12.0 | 3.8-3.11 | GCC 9.3.1 | Bazel 5.3.0 | 8.6 | 11,8 |
| tensorflow-2.11.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.3.0 | 8.1 | 11.2 |
| tensorflow-2.10.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.1.1 | 8.1 | 11.2 |
| tensorflow-2.9.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.0.0 | 8.1 | 11.2 |
| tensorflow-2.8.0 | 3.7-3.10 | GCC 7.3.1 | Bazel 4.2.1 | 8.1 | 11.2 |
| tensorflow-2.7.0 | 3,7-3,9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
| tensorflow-2.6.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
| tensorflow-2.5.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
| tensorflow-2.4.0 | 3,6-3,8 | GCC 7.3.1 | Bazel 3.1.0 | 8.0 | 11.0 |
| tensorflow-2.3.0 | 3,5-3,8 | GCC 7.3.1 | Bazel 3.1.0 | 7.6 | 10.1 |
| tensorflow-2.2.0 | 3,5-3,8 | GCC 7.3.1 | Bazel 2.0.0 | 7.6 | 10.1 |
| tensorflow-2.1.0 | 2,7, 3,5-3,7 | GCC 7.3.1 | Bazel 0.27.1 | 7.6 | 10.1 |
| tensorflow-2.0.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
| tensorflow_gpu-1.15.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
| tensorflow_gpu-1.14.0 | 2.7, 3.3-3.7 | GCC 4.8 | Bazel 0.24.1 | 7.4 | 10.0 |
| tensorflow_gpu-1.13.1 | 2.7, 3.3-3.7 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
| tensorflow_gpu-1.12.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
| tensorflow_gpu-1.11.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
| tensorflow_gpu-1.10.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
| tensorflow_gpu-1.9.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
| tensorflow_gpu-1.8.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 7 | 9 |
| tensorflow_gpu-1.7.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
| tensorflow_gpu-1.6.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
| tensorflow_gpu-1.5.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
| tensorflow_gpu-1.4.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
| tensorflow_gpu-1.3.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
| tensorflow_gpu-1.2.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
| tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
| tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
macOS
processeur
| Version | Version Python | Compilateur | Créer des outils |
|---|---|---|---|
| tensorflow-2.16.1 | 3.9-3.12 | Clang de Xcode 13.6 | Bazel 6.5.0 |
| tensorflow-2.15.0 | 3.9-3.11 | Clang de Xcode 10.15 | Bazel 6.1.0 |
| tensorflow-2.14.0 | 3.9-3.11 | Clang de Xcode 10.15 | Bazel 6.1.0 |
| tensorflow-2.13.0 | 3.8-3.11 | Clang de Xcode 10.15 | Bazel 5.3.0 |
| tensorflow-2.12.0 | 3.8-3.11 | Clang de Xcode 10.15 | Bazel 5.3.0 |
| tensorflow-2.11.0 | 3.7-3.10 | Clang de Xcode 10.14 | Bazel 5.3.0 |
| tensorflow-2.10.0 | 3.7-3.10 | Clang de Xcode 10.14 | Bazel 5.1.1 |
| tensorflow-2.9.0 | 3.7-3.10 | Clang de Xcode 10.14 | Bazel 5.0.0 |
| tensorflow-2.8.0 | 3.7-3.10 | Clang de Xcode 10.14 | Bazel 4.2.1 |
| tensorflow-2.7.0 | 3,7-3,9 | Clang de Xcode 10.11 | Bazel 3.7.2 |
| tensorflow-2.6.0 | 3,6-3,9 | Clang de Xcode 10.11 | Bazel 3.7.2 |
| tensorflow-2.5.0 | 3,6-3,9 | Clang de Xcode 10.11 | Bazel 3.7.2 |
| tensorflow-2.4.0 | 3,6-3,8 | Clang de Xcode 10.3 | Bazel 3.1.0 |
| tensorflow-2.3.0 | 3,5-3,8 | Clang de Xcode 10.1 | Bazel 3.1.0 |
| tensorflow-2.2.0 | 3,5-3,8 | Clang de Xcode 10.1 | Bazel 2.0.0 |
| tensorflow-2.1.0 | 2,7, 3,5-3,7 | Clang de Xcode 10.1 | Bazel 0.27.1 |
| tensorflow-2.0.0 | 2,7, 3,5-3,7 | Clang de Xcode 10.1 | Bazel 0.27.1 |
| tensorflow-2.0.0 | 2.7, 3.3-3.7 | Clang de Xcode 10.1 | Bazel 0.26.1 |
| tensorflow-1.15.0 | 2.7, 3.3-3.7 | Clang de Xcode 10.1 | Bazel 0.26.1 |
| tensorflow-1.14.0 | 2.7, 3.3-3.7 | Clang de Xcode | Bazel 0.24.1 |
| tensorflow-1.13.1 | 2.7, 3.3-3.7 | Clang de Xcode | Bazel 0.19.2 |
| tensorflow-1.12.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.15.0 |
| tensorflow-1.11.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.15.0 |
| tensorflow-1.10.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.15.0 |
| tensorflow-1.9.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.11.0 |
| tensorflow-1.8.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.10.1 |
| tensorflow-1.7.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.10.1 |
| tensorflow-1.6.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.8.1 |
| tensorflow-1.5.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.8.1 |
| tensorflow-1.4.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.5.4 |
| tensorflow-1.3.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.5 |
| tensorflow-1.2.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.5 |
| tensorflow-1.1.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.2 |
| tensorflow-1.0.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.2 |
GPU
| Version | Version Python | Compilateur | Créer des outils | cuDNN | CUDA |
|---|---|---|---|---|---|
| tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.2 | 5.1 | 8 |
| tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | Clang de Xcode | Bazel 0.4.2 | 5.1 | 8 |