La version 2.15 de TensorFlow vient d’être publiée, apportant plusieurs améliorations majeures ainsi que des optimisations héritées de la version 2.14. Parmi les nouveautés les plus marquantes figure une simplification significative de l’installation des bibliothèques NVIDIA CUDA sur Linux. Désormais, il suffit d’exécuter la commande `pip install tensorflow[and-cuda]` pour installer automatiquement les dépendances CUDA nécessaires dans l’environnement Python, à condition que le pilote NVIDIA soit déjà présent sur le système. Cette méthode élimine le besoin d’installer manuellement les packages CUDA, et cette version intègre CUDA 12.2 pour une meilleure compatibilité avec les dernières architectures GPU, notamment celles de la famille Hopper de NVIDIA.
Sur le plan des performances CPU, TensorFlow 2.15 active par défaut les optimisations oneDNN pour les packages Windows x64 et x86, améliorant ainsi l’efficacité des calculs sur les processeurs x86. Ces optimisations peuvent être contrôlées via la variable d’environnement `TF_ENABLE_ONEDNN_OPTS`, qui permet de les activer (valeur `1`) ou de les désactiver (valeur `0`). Cette flexibilité offre aux utilisateurs la possibilité d’ajuster les performances selon leurs besoins spécifiques, tout en conservant la possibilité de revenir aux paramètres par défaut en supprimant simplement la variable.
Un autre progrès notable concerne `tf.function`, dont les types sont désormais pleinement disponibles et enrichis de nouvelles fonctionnalités expérimentales. Le type `tf.types.experimental.TraceType` permet désormais de déclarer explicitement la prise en charge de la décomposition des tenseurs et des conversions de type pour les entrées personnalisées. Par ailleurs, le type `tf.types.experimental.FunctionType` offre une représentation complète de la signature des fonctions appelables, accessible via la propriété `function_type` des objets `tf.function` et `ConcreteFunction`. Enfin, l’introduction de `tf.types.experimental.AtomicFunction` propose une méthode optimisée pour exécuter des calculs TensorFlow en Python, idéale pour les inférences (bien que non compatible avec les gradients), et accessible via la propriété `inference_fn` des `ConcreteFunction`.
Enfin, TensorFlow 2.15 marque une transition technique importante avec l’adoption de Clang 17.0.1 comme compilateur C++ par défaut pour la construction des packages PIP, ainsi que le passage à CUDA 12.2. Ces mises à jour visent à optimiser les performances, notamment pour les GPU NVIDIA de dernière génération. Les développeurs compilant TensorFlow depuis les sources sont encouragés à mettre à jour leur compilateur vers Clang 17 pour bénéficier de ces améliorations. Il est à noter que les annonces futures concernant le nouveau Keras multi-backend (à partir de Keras 3.0) seront publiées directement sur le site keras.io, marquant une séparation progressive des communications entre TensorFlow et Keras.