Informations administratives
Titre | Servir les modèles de production |
Durée | 60 minutes |
Module | B |
Type de leçon | Tutoriel |
Focus | Pratique — IA organisationnelle |
Sujet | API du modèle de production du bâtiment |
Mots-clés
fonctionnement de l’apprentissage automatique, conteneurs,
Objectifs d’apprentissage
- Se familiariser avec la conteneurisation
- Apprendre le service TFX
- Possibilité d’appliquer le service localement et sur Azure Container Instances
Préparation prévue
Événements d’apprentissage à compléter avant
Aucun.
Obligatoire pour les étudiants
- Installez WSL 2 avant d’installer Docker
- Vous pouvez utiliser l’option Hyper-V Windows, mais cela ne prend pas en charge les GPU
- Vous devrez installer Ubuntu (ou d’autres variantes appropriées), avec la commande WSL CLI wsl --install -d ubuntu
- Pour certaines machines, le WSL devra également être mis à jour avec la commande wsl --update (Plus d’informations sur cette mise à jour)
- Vous aurez besoin d’avoir les derniers pilotes NVIDIA/CUDA installés
- Installer Docker pour Windows: https://docs.docker.com/desktop/install/windows-install/
- Créer un compte Azure avec accès pour créer Azure Container Instances (ACI)
Optionnel pour les étudiants
Références et antécédents pour les étudiants
- Aditya Khosla, Nityananda Jayadevaprakash, Bangpeng Yao et Li Fei-Fei. Nouveau jeu de données pour la catégorisation d’image fine. Premier atelier sur la catégorisation visuelle fine (FGVC), Conférence de l’IEEE sur la vision par ordinateur et la reconnaissance des modèles (CVPR), 2011.
Recommandé pour les enseignants
- Effectuer les tâches énumérées comme obligatoires et facultatives pour les étudiants.
Matériel de leçon
Instructions pour les enseignants
Modèles de production utilisant le service TFX
- Ce tutoriel permettra aux étudiants de prendre un modèle formé développé qui a été développé dans un cahier Jupyter (en utilisant Tensorflow 2.x et Keras) et de sauvegarder le modèle au format Tensorflow. Le tutoriel commencera par développer un CNN de base pour identifier le pain d’un chien. Nous enregistrerons ensuite le modèle en tant que modèle Tensorflow. Le tutoriel utilisera ensuite l’approche TFX (Tensorflow Extended https://www.tensorflow.org/tfx/serving/docker) pourMLOps, où nous nous concentrerons dans ce tutoriel sur le composant de service TRX, qui est la construction d’API reposantes à utiliser/requête dans les environnements de production. Pour ce faire, nous allons construire une image de service Docker TFX, et déployer cette image:
- Localement (localhost)
- Via Azure Container Instances (ACI), où une adresse IP publique peut être interrogée
- Il y a des installations préalables nécessaires, veuillez consulter les préparatifs obligatoires pour les étudiants ci-dessous.
- Le jeu de données est le jeu de données de chiens Stanford, dans lequel nous utilisons deux classes de chiens, Jack Russel et Rhodesian Ridgeback, le jeu de données complet peut être trouvé ici, nous avons également fourni le sous-ensemble utilisé dans ce tutoriel dans la section ensemble de données ci-dessous.
- Nous avons également fourni toutes les commandes Docker CLI au bas de cette page de tutoriel WIKI.
Esquisse/horaire
Durée (min) | Description |
---|---|
20 | Problème 1: Construire un modèle CNN à l’aide d’un sous-ensemble de l’ensemble de données des chiens Stanford, en enregistrant ce modèle en tant que modèle Tensorflow |
10 | Problème 2: Déployer le modèle Tensorflow dans une API Rest localement (à l’aide de Docker) et interroger le modèle |
20 | Problème 3: Déploiement du modèle Tensorflow dans une API Rest utilisant Azure Container Instances (ACI) (à l’aide de Docker) et interroger le modèle |
10 | Récapitulation du processus de transmission de l’avance |
Commandes CLI Docker
Les commandes d’interface de ligne de commande suivantes sont utilisées dans ce tutoriel pour exécuter les modèles.
Exécuter localement
Étape 1: Écoulement du tenseur de traction
Docker tire tensorflow/serving: le plus récent-gpu
Étape 2: Exécutez l’image
Docker exécute --gpus all -p 8501:8501 --nom tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
ou sans GPU
Docker exécute -p 8501:8501 --nom tfserving_classifier --mount type=bind,source=c:\production\,target=/models/img_classifier -e MODEL_NAME=img_classifier -t tensorflow/serving:latest-gpu
Exécutez sur Azure à l’aide d’ACI
Étape 1: Modifier l’image locale pour que le modèle soit inclus
Docker exécute -d --nom sert_base tensorflow/serving:latest-gpu Docker cp c:\production\ serve_base:/models/img_classifier Docker ps -a▲ # pour obtenir l’identifiant Docker commit --change «ENV MODEL_NAME img_classifier» & ID va ici> tensorflow_dogs_gpu Docker tue Serving_base
Étape 2: Déployer l’image vers Azure ACI
Docker login azure le contexte Docker crée aci deleteme Docker contextuel use deleteme Docker run -p 8501:8501 kquille/tensorflow_dogs_gpu:kq
Étape 3 Accédez aux journaux ACI, à l’adresse IP, puis arrêtez et supprimez le service ACI =====
Docker loge jolly-ride Docker ps Docker stop jolly-ride Docker rm jolly-ride
Remerciements
Keith Quille (TU Dublin, campus de Tallaght)
Le programme de master IA centré sur l’humain a été cofinancé par le mécanisme pour l’interconnexion en Europe de l’Union européenne dans le cadre de la subvention CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.