Docker et TensorFlow Model Garden (wrapper)

 Docker et TensorFlow Model Garden pour un tableau de bord.

Un wrapper en intelligence artificielle est un outil ou une bibliothèque qui encapsule des modèles d’apprentissage automatique ou des algorithmes d’IA, facilitant leur utilisation dans diverses applications. Ces wrappers permettent aux développeurs de travailler avec des modèles complexes sans avoir à comprendre tous les détails techniques sous-jacents. La verticalisation fait référence à l’adaptation d’un produit ou d’une technologie pour répondre aux besoins spécifiques d’un secteur particulier. Dans le contexte des wrappers en IA, cela signifie développer des solutions adaptées à des industries comme la santé, la finance, le commerce de détail, etc.

Avantages de la Verticalisation

Spécialisation : Les wrappers verticalisés peuvent offrir des fonctionnalités spécifiques qui répondent mieux aux exigences réglementaires et opérationnelles d’un secteur.

Efficacité : En se concentrant sur un domaine particulier, ces outils peuvent optimiser les performances et réduire le temps de développement.

Adoption : Les entreprises sont plus susceptibles d’adopter des solutions qui répondent directement à leurs besoins sectoriels.

Avenir des Wrappers Verticalisés

L’avenir semble prometteur pour les wrappers verticalisés en raison de l’augmentation continue de l’utilisation de l’IA dans divers secteurs. Avec la montée en puissance du big data et de l’analyse prédictive, les entreprises recherchent des solutions personnalisées qui peuvent être intégrées facilement dans leurs systèmes existants.

L'installation de Docker dépend fortement de votre système d'exploitation. Voici les instructions générales pour les systèmes d'exploitation les plus courants. Veuillez suivre attentivement les étapes correspondant à votre système.

Préparation de la plateforme :

La méthode recommandée pour installer Docker sur Windows est d'utiliser Docker Desktop for Windows.

  • Vérifiez les prérequis de votre système:
    • Windows 10 ou 11 64-bit Pro, Enterprise ou Education: Hyper-V doit être activé.
    • Windows 10 ou 11 64-bit Home: WSL 2 (Windows Subsystem for Linux version 2) est requis. Vous devrez peut-être l'installer et le configurer en premier.
  • Téléchargez Docker Desktop for Windows depuis le site officiel de Docker : https://www.docker.com/products/docker-desktop/
  • Double-cliquez sur le fichier .exe téléchargé pour lancer l'installateur.
  • Suivez les instructions à l'écran. Vous devrez peut-être accepter les termes de la licence et autoriser l'installation.
  • Redémarrez votre ordinateur lorsque l'installateur vous le demande.
  • Vérifiez l'installation en ouvrant votre Invite de commandes ou PowerShell et en exécutant docker --version et docker info.

https://app.docker.com/

https://docs.docker.com/guides/



Bienvenue dans le jardin modèle de TensorFlow

Le TensorFlow Model Garden est un référentiel avec un certain nombre de mises en œuvre de modèles SOTA (State-of-the-Art) et de solutions de modélisation pour Utilisateurs de TensorFlow. Notre objectif est de démontrer les meilleures pratiques en matière de modélisation afin que Les utilisateurs de TensorFlow peuvent tirer pleinement parti de TensorFlow pour leurs recherches et développement de produits.

Pour améliorer la transparence et la reproductibilité de nos modèles, des journaux d’entraînement sur TensorBoard.dev sont également fournis pour les modèles à la dans la mesure du possible, mais tous les modèles ne conviennent pas.


Utiliser TensorBoard dans les notebooks 

TensorBoard peut être utilisé directement dans les expériences d'ordinateurs portables tels que Colab et Jupyter . Cela peut être utile pour partager les résultats, intégrer TensorBoard dans des flux de travail existants et utiliser TensorBoard sans rien installer localement.

Commencez par installer TF 2.0 et chargez l'extension TensorBoard pour notebook :

Pour les utilisateurs Jupyter: Si vous avez installé Jupyter et TensorBoard dans le même virtualenv, alors vous devriez être bon d'aller. Si vous utilisez une configuration plus compliquée, comme une installation globale Jupyter et noyaux pour différents environnements Conda / virtualenv, vous devez vous assurer que le tensorboard binaire est sur votre PATH dans le contexte de bloc - notes Jupyter. Une façon de le faire est de modifier le kernel_spec préfixer de l'environnement bin répertoire de PATH , comme décrit ici .

Pour les utilisateurs Docker: Si vous utilisez une Docker image de Jupyter serveur portable à l' aide de la nuit tensorflow , il est nécessaire d'exposer non seulement le port de l'ordinateur portable, mais le port du TensorBoard. Ainsi, exécutez le conteneur avec la commande suivante :

docker run -it -p 8888:8888 -p 6006:6006 \
tensorflow
/tensorflow:nightly-py3-jupyter

où l' -p 6006 est le port par défaut de TensorBoard. Cela vous allouera un port pour exécuter une instance TensorBoard. Pour avoir des instances concurrentes, il est nécessaire d'allouer plus de ports. En outre, passer --bind_all à %tensorboard pour exposer l'orifice extérieur du récipient.

# Load the TensorBoard notebook extension
%load_ext tensorboard

Importez TensorFlow, datetime et os :

import tensorflow as tf
import datetime, os

Télécharger le FashionMNIST ensemble de données et agrandissez:

fashion_mnist = tf.keras.datasets.fashion_mnist

(x_train, y_train),(x_test, y_test) = fashion_mnist.load_data()
x_train
, x_test = x_train / 255.0, x_test / 255.0
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz
32768/29515 [=================================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz
26427392/26421880 [==============================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz
8192/5148 [===============================================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz
4423680/4422102 [==============================] - 0s 0us/step

Créez un modèle très simple :

def create_model():
 
return tf.keras.models.Sequential([
    tf
.keras.layers.Flatten(input_shape=(28, 28)),
    tf
.keras.layers.Dense(512, activation='relu'),
    tf
.keras.layers.Dropout(0.2),
    tf
.keras.layers.Dense(10, activation='softmax')
 
])

Entraînez le modèle à l'aide de Keras et du rappel TensorBoard :

def train_model():

  model
= create_model()
  model
.compile(optimizer='adam',
                loss
='sparse_categorical_crossentropy',
                metrics
=['accuracy'])

  logdir
= os.path.join("logs", datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
  tensorboard_callback
= tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)

  model
.fit(x=x_train,
            y
=y_train,
            epochs
=5,
            validation_data
=(x_test, y_test),
            callbacks
=[tensorboard_callback])

train_model
()
Train on 60000 samples, validate on 10000 samples
Epoch 1/5
60000/60000 [==============================] - 11s 182us/sample - loss: 0.4976 - accuracy: 0.8204 - val_loss: 0.4143 - val_accuracy: 0.8538
Epoch 2/5
60000/60000 [==============================] - 10s 174us/sample - loss: 0.3845 - accuracy: 0.8588 - val_loss: 0.3855 - val_accuracy: 0.8626
Epoch 3/5
60000/60000 [==============================] - 10s 175us/sample - loss: 0.3513 - accuracy: 0.8705 - val_loss: 0.3740 - val_accuracy: 0.8607
Epoch 4/5
60000/60000 [==============================] - 11s 177us/sample - loss: 0.3287 - accuracy: 0.8793 - val_loss: 0.3596 - val_accuracy: 0.8719
Epoch 5/5
60000/60000 [==============================] - 11s 178us/sample - loss: 0.3153 - accuracy: 0.8825 - val_loss: 0.3360 - val_accuracy: 0.8782

Démarrez TensorBoard dans le bloc - notes à l' aide magies :

%tensorboard --logdir logs

Vous pouvez désormais afficher des tableaux de bord tels que des scalaires, des graphiques, des histogrammes et autres. Certains tableaux de bord ne sont pas encore disponibles dans Colab (comme le plugin de profil).

Le %tensorboard magique a exactement le même format que l'appel de la ligne de commande TensorBoard, mais avec un % --sign devant elle.

Vous pouvez également démarrer TensorBoard avant l'entraînement pour suivre sa progression :

%tensorboard --logdir logs

Le même backend TensorBoard est réutilisé en émettant la même commande. Si un autre répertoire de journaux était choisi, une nouvelle instance de TensorBoard serait ouverte. Les ports sont gérés automatiquement.

Commencez à entraîner un nouveau modèle et regardez TensorBoard se mettre à jour automatiquement toutes les 30 secondes ou actualisez-le avec le bouton en haut à droite :

train_model()
Train on 60000 samples, validate on 10000 samples
Epoch 1/5
60000/60000 [==============================] - 11s 184us/sample - loss: 0.4968 - accuracy: 0.8223 - val_loss: 0.4216 - val_accuracy: 0.8481
Epoch 2/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3847 - accuracy: 0.8587 - val_loss: 0.4056 - val_accuracy: 0.8545
Epoch 3/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3495 - accuracy: 0.8727 - val_loss: 0.3600 - val_accuracy: 0.8700
Epoch 4/5
60000/60000 [==============================] - 11s 179us/sample - loss: 0.3282 - accuracy: 0.8795 - val_loss: 0.3636 - val_accuracy: 0.8694
Epoch 5/5
60000/60000 [==============================] - 11s 176us/sample - loss: 0.3115 - accuracy: 0.8839 - val_loss: 0.3438 - val_accuracy: 0.8764

Vous pouvez utiliser les tensorboard.notebook API pour un peu plus de contrôle:

from tensorboard import notebook
notebook
.list() # View open TensorBoard instances
Known TensorBoard instances:

  - port 6006: logdir logs (started 0:00:54 ago; pid 265)
# Control TensorBoard display. If no port is provided, 
# the most recently launched TensorBoard is used
notebook
.display(port=6006, height=1000)


Utiliser TensorBoard dans les notebooks  |  TensorFlow

https://www.tensorflow.org/tensorboard/tensorboard_in_notebooks?hl=fr


https://github.com/tensorflow/models/blob/master/README.md

models/official/README-TPU.md at master · tensorflow/models

https://github.com/tensorflow/models/blob/master/official/README-TPU.md


TensorBoard.dev

https://tensorboard.dev/


Modèles et ensembles de données  |  TensorFlow

https://www.tensorflow.org/resources/models-datasets?hl=fr


Objectif à terme :


--- 

 Pierre Erol GIRAUDY 




Aucun commentaire:

Enregistrer un commentaire

Comment ajouter le protocole de contexte de modèle MCP à Copilot Studio ...

MCP démystifié et exemples : https://youtu.be/qjMBkk0R_7s?si=wPc7n9QtUtTHNIOC Nous analyserons le protocole MCP (Model Context Protocol), en...