Comprendre les types de courses et activer les capteurs pris en charge par AWS DeepRacer - AWS DeepRacer

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre les types de courses et activer les capteurs pris en charge par AWS DeepRacer

Dans AWS DeepRacer League, vous pouvez participer aux types d'événements de course suivants :

  • Contre la montre : faites la course contre la montre sur une piste dégagée avec comme but le temps au tour le plus rapide possible.

  • Évitement d'objets : faites la course contre la montre sur une piste avec des obstacles immobiles avec comme but le temps au tour le plus rapide possible.

  • ead-to-bot Course H : affrontez un ou plusieurs autres véhicules sur la même piste et tentez de franchir la ligne d'arrivée avant les autres véhicules.

Les courses DeepRacer communautaires AWS ne prennent actuellement en charge que les contre-la-montre.

Vous devez tester différents capteurs sur votre DeepRacer véhicule AWS afin de le doter de capacités suffisantes pour observer son environnement pour un type de course donné. La section suivante décrit les capteurs DeepRacer pris en charge par AWS qui peuvent permettre les types d'événements de course autonomes pris en charge.

Choisissez des capteurs pour les types DeepRacer de course AWS

Votre DeepRacer véhicule AWS est équipé d'une caméra monoculaire frontale comme capteur par défaut. Vous pouvez ajouter une autre caméra monoculaire frontale pour créer un jeu de caméras stéréo frontales, ou compléter la caméra monoculaire ou les caméras stéréo avec une unité LiDAR.

La liste suivante résume les capacités fonctionnelles des capteurs DeepRacer pris en charge par AWS, ainsi que de brèves cost-and-benefit analyses :

Caméra frontale

Une caméra frontale mono-objectif peut capturer des images de l'environnement à l'avant du véhicule hôte, y compris les limites et les formes de la piste. Il s'agit du capteur le moins cher qui convient aux tâches de conduite autonome simples, telles que les courses contre la montre sans obstacle sur des pistes bien balisées. Avec une formation appropriée, ce capteur peut éviter des obstacles immobiles à des emplacements fixes sur la piste. Toutefois, les informations sur l'emplacement des obstacles sont intégrées au modèle formé. Par conséquent, le modèle sera probablement surajusté et ne pourra pas être généralisé à d'autres positionnements d'obstacle. Avec des objets immobiles placés à des endroits aléatoires ou d'autres véhicules en mouvement sur la piste, il est peu probable que le modèle converge.

Dans le monde réel, le DeepRacer véhicule AWS est équipé d'une caméra frontale à objectif unique comme capteur par défaut. La caméra a un objectif grand angle de 120 degrés et capture des images RVB qui sont ensuite converties en images en niveaux de gris de 160 x 120 pixels à 15 images par seconde (fps). Ces propriétés de capteur sont préservées dans le simulateur afin d'optimiser les chances que le modèle formé puisse être transféré correctement de la simulation au monde réel.

Caméra stéréo frontale

Une caméra stéréo comporte au moins deux objectifs qui capturent des images avec la même résolution et la même fréquence. Les images des deux objectifs permettent de déterminer la profondeur des objets observés. Les informations sur la profondeur provenant d'une caméra stéréo sont précieuses pour que le véhicule hôte évite de percuter les obstacles ou d'autres véhicules devant lui, en particulier dans un environnement plus dynamique. Cependant, avec l'ajout d'informations de profondeur, les formations convergent plus lentement.

Sur le véhicule DeepRacer physique AWS, la caméra stéréo à double objectif est construite en ajoutant une autre caméra à objectif unique et en installant chaque caméra sur les côtés gauche et droit du véhicule. Le DeepRacer logiciel AWS synchronise les captures d'images des deux caméras. Les images capturées sont converties en niveaux de gris, empilées et introduites dans le réseau neuronal pour inférence. Le même mécanisme est dupliqué dans le simulateur afin de former le modèle pour qu'il soit généralisé correctement dans un environnement réel.

Capteur LiDAR

Un capteur LiDAR utilise des lasers rotatifs pour envoyer des impulsions lumineuses en dehors du spectre visible et mesurer le temps de retour de chaque impulsion. La direction des objets et la distance aux objets atteints par une impulsion spécifique sont enregistrées en tant que point dans une grande carte 3D centrée autour de l'unité LiDAR.

Par exemple, LiDAR permet de détecter les angles morts du véhicule hôte afin d'éviter les collisions pendant que le véhicule change de voie. En combinant LiDAR avec des caméras mono ou stéréo, vous permettez au véhicule hôte de capturer suffisamment d'informations pour exécuter les actions appropriées. Par contre, un capteur LiDAR coûte plus cher que des caméras. Le réseau neuronal doit apprendre à interpréter les données LiDAR. Les formations prennent donc plus de temps pour converger.

Sur le véhicule DeepRacer physique AWS, un capteur LiDAR est monté à l'arrière et incliné de 6 degrés vers le bas. Il tourne à la vitesse angulaire de 10 rotations par seconde et a une portée de 15 cm à 2 m. Il peut détecter des objets à l'arrière et à côté du véhicule hôte ainsi que des objets en hauteur non masqués par les composants du véhicule à l'avant. L'angle et la portée sont choisis pour rendre l'unité LiDAR moins sensible au bruit ambiant.

Vous pouvez configurer votre DeepRacer véhicule AWS à l'aide de la combinaison suivante de capteurs compatibles :

  • Caméra mono-objectif frontale uniquement.

    Cette configuration convient aux courses contre la montre et à l'évitement d'obstacles avec des objets à des emplacements fixes.

  • Caméra stéréo frontale uniquement.

    Cette configuration permet d'éviter les obstacles lorsque des objets se trouvent à des emplacements fixes ou aléatoires.

  • Caméra mono-objectif frontale avec LiDAR.

    Cette configuration convient à l'évitement d'obstacles ou à la head-to-bot course.

  • Caméra stéréo frontale avec LiDAR.

    Cette configuration convient à l'évitement d'obstacles ou à la head-to-bot course, mais elle n'est probablement pas la plus économique pour les contre-la-montre.

Au fur et à mesure que vous ajoutez de nouveaux capteurs pour permettre à votre DeepRacer véhicule AWS de passer des essais contre la montre à l'évitement d'objets, en passant par la head-to-bot course, le véhicule collecte davantage de données sur l'environnement qui alimenteront le réseau neuronal sous-jacent pendant l'entraînement. Cela rend la formation plus difficile, car le modèle doit traiter des complexités croissantes. Au final, vos tâches d'apprentissage pour former les modèles deviennent plus exigeantes.

Pour apprendre progressivement, vous devez d'abord vous entraîner pour les contre-la-montre avant de passer à l'évitement des objets, puis à la head-to-bot course. Vous trouverez des recommandations plus détaillées dans la section suivante.

Configuration de l'agent pour la formation DeepRacer des modèles AWS

Pour créer un modèle d'apprentissage par renforcement permettant au DeepRacer véhicule AWS de courir en évitant des obstacles ou en head-to-bot course, vous devez configurer l'agent avec les capteurs appropriés. Pour les courses contre la montre simples, vous pouvez utiliser l'agent par défaut configuré avec une caméra mono-objectif. Lors de la configuration de l'agent, vous pouvez personnaliser l'espace d'action et choisir une topologie de réseau neuronal pour que ceux-ci fonctionnent mieux avec les capteurs sélectionnés afin de répondre aux exigences de pilotage visés. En outre, vous pouvez modifier l'apparence de l'agent pour mieux l'identifier visuellement pendant la formation.

Une fois l'agent configuré, sa configuration est enregistrée dans le cadre des métadonnées du modèle pour la formation et l'évaluation. Pour l'évaluation, l'agent récupère automatiquement la configuration enregistrée pour utiliser les capteurs, l'espace d'action et la technologie de réseau neuronal spécifiés.

Cette section explique le processus de configuration d'un agent dans la DeepRacer console AWS.

Pour configurer un DeepRacer agent AWS dans la DeepRacer console AWS
  1. Connectez-vous à la DeepRacerconsole AWS.

  2. Dans le panneau de navigation principal, choisissez Garage.

  3. La première fois que vous utilisez Garage, la boîte de dialogue WELCOME TO THE GARAGE (BIENVENUE DANS LE GARAGE) apparaît. Choisissez > ou <, parcourez la présentation des différents capteurs compatibles avec le DeepRacer véhicule AWS ou choisissez X pour fermer la boîte de dialogue. Vous trouverez ces informations de présentation dans le panneau d'aide de Garage.

  4. Sur la page Garage, choisissez Build new vehicle (Créer un nouveau véhicule).

  5. Sur la page Mod your own vehicle (Modéliser votre propre véhicule), sous Mod specifications (Spécifications de modélisation), choisissez un ou plusieurs capteurs pour essayer de découvrir la meilleure combinaison pouvant répondre à vos types de course visés.

    Pour vous entraîner en vue des essais contre la montre de votre DeepRacer véhicule AWS, choisissez Camera. Pour éviter les obstacles ou head-to-bot courir, vous pouvez utiliser d'autres types de capteurs. Pour choisir un appareil photo stéréo, assurez-vous d'avoir acheté un appareil photo mono-objectif supplémentaire. AWS DeepRacer fabrique la caméra stéréo à partir de deux caméras à objectif unique. Vous pouvez disposer d'une caméra mono-objectif ou d'une caméra stéréo double objectif sur un véhicule. Dans les deux cas, vous pouvez ajouter un capteur LiDAR à l'agent si vous souhaitez simplement que le modèle entraîné soit capable de détecter et d'éviter les angles morts lors de l'évitement d'obstacles ou de la head-to-bot course.

  6. Sur la page Garage et sous Neural network topologies (Topologies de réseau neuronal), choisissez une topologie de réseau prise en charge.

    En général, un réseau neuronal plus profond (avec plus de couches) est plus approprié pour rouler sur des pistes plus compliquées avec des courbes serrées et de nombreux virages, pour piloter en évitant des obstacles immobiles, ou pour faire la course avec d'autres véhicules en mouvement. Mais un réseau neuronal plus profond est plus coûteux à former et le modèle prend plus de temps à converger. Par contre, un réseau moins profond (avec moins de couches) coûte moins cher et prend moins de temps à former. Le modèle formé est capable de gérer des conditions de piste ou des exigences de conduite plus simples, comme les courses contre la montre sur une piste sans obstacles et sans concurrents.

    Plus précisément, AWS DeepRacer prend en charge le CNN à 3 couches ou le CNN à 5 couches.

  7. Sur la page Garage, choisissez Next (Suivant) pour procéder à la configuration de l'espace d'action de l'agent.

  8. Sur la page Action space (Espace d'action), conservez les paramètres par défaut pour votre première formation. Pour les formations ultérieures, testez différents paramètres pour l'angle de braquage, la vitesse maximale et les granularités correspondantes. Ensuite, choisissez Next (Suivant).

  9. Sur la page Colorez votre véhicule pour vous démarquer de la foule, entrez un nom dans Nommez votre véhicule, DeepRacer puis choisissez une couleur pour l'agent dans la liste des couleurs du véhicule. Ensuite, choisissez Submit (Soumettre).

  10. Sur la page Garage, examinez les paramètres du nouvel agent. Pour apporter d'autres modifications, choisissez Mod vehicle (Modéliser un véhicule) et répétez les étapes précédentes à partir de l'étape 4.

Votre agent est maintenant prêt pour la formation.

Personnalisez la DeepRacer formation AWS pour les contre-la-montre

Si c'est la première fois que vous utilisez AWS DeepRacer, vous devriez commencer par un simple essai contre la montre pour vous familiariser avec la manière d'entraîner les DeepRacer modèles AWS à conduire votre véhicule. Vous apprenez ainsi plus en douceur les concepts de base de fonction de récompense, d'agent, d'environnement, etc. Votre objectif est de former un modèle pour que le véhicule reste sur la piste et termine un tour aussi vite que possible. Vous pouvez ensuite déployer le modèle entraîné sur votre DeepRacer véhicule AWS pour tester la conduite sur une piste physique sans aucun capteur supplémentaire.

Pour entraîner un modèle pour ce scénario, vous pouvez choisir l'agent par défaut dans Garage sur la DeepRacer console AWS. L'agent par défaut a été configuré avec une seule caméra frontale, un espace d'action par défaut et une topologie de réseau neuronal par défaut. Il est utile de commencer à entraîner un DeepRacer modèle AWS avec l'agent par défaut avant de passer à des modèles plus sophistiqués.

Pour former votre modèle avec l'agent par défaut, suivez les recommandations ci-dessous.

  1. Commencez à former votre modèle avec une piste simple avec des formes plus régulières et des virages moins serrés. Utilisez la fonction de récompense par défaut. Et formez le modèle pendant 30 minutes. Une fois la tâche de formation terminée, évaluez votre modèle sur la même piste pour voir si l'agent peut terminer un tour.

  2. Lisez les informations sur les paramètres de la fonction de récompense. Continuez la formation avec différentes incitations afin de récompenser l'agent pour le faire aller plus vite. Allongez le temps de formation pour le modèle suivant à 1 à 2 heures. Comparez le graphe de récompense entre la première formation et la seconde. Continuez à expérimenter jusqu'à ce que le graphe de récompense cesse de s'améliorer.

  3. Lisez les informations sur l''espace d'action. Entraînez le modèle la troisième fois en augmentant la vitesse maximale (par exemple 1 m/s). Pour modifier l'espace d'action, vous devez créer dans Garage un nouvel agent lorsque vous avez la possibilité d'effectuer la modification. Lorsque vous mettez à jour la vitesse maximale de votre agent, sachez que plus la vitesse maximale est élevée, plus l'agent peut terminer rapidement le parcours d'évaluation et plus vite votre DeepRacer véhicule AWS peut terminer un tour sur une piste physique. Cependant, une vitesse maximale plus élevée signifie souvent un temps plus long pour la convergence de la formation, car l'agent est plus enclin à aller trop vite sur une courbe et donc à sortir de la piste. Vous souhaiterez peut-être diminuer les granularités pour donner à l'agent plus d'espace pour accélérer ou décélérer et ajuster davantage la fonction de récompense d'autres façons pour que la formation converge plus rapidement. Une fois que la formation converge, évaluez le 3e modèle pour voir si le temps au tour s'améliore. Continuez à explorer jusqu'à ce qu'il n'y ait plus d'amélioration.

  4. Choisissez une piste plus compliquée et répétez l'étape 1 à l'étape 3. Évaluez votre modèle sur une piste différente de celle que vous avez utilisée pour la formation afin de voir comment le modèle peut être généralisé à différentes pistes virtuelles, puis être généralisé à des environnements réels.

  5. (Facultatif) Testez différentes valeurs des hyperparamètres pour améliorer le processus de formation et répétez l'étape 1 à l'étape 3.

  6. (Facultatif) Examinez et analysez les DeepRacer journaux AWS. Pour un exemple de code que vous pouvez utiliser pour analyser les journaux, consultez https://github.com/aws-samples/aws-deepracer-workshops /tree/master/log-analysis.

Personnalisez la DeepRacer formation AWS pour les courses visant à éviter les objets

Après vous être familiarisé avec les courses contre la montre et avoir formé quelques modèles convergés, passez au prochain défi plus exigeant : l'évitement d'obstacles. Là, votre objectif est de former un modèle capable de terminer un tour aussi vite que possible sans quitter la piste, tout en évitant de percuter les objets placés sur la piste. Il s'agit évidemment d'un problème plus difficile pour l'apprentissage de l'agent et la formation prend plus de temps pour converger.

La DeepRacer console AWS propose deux types d'entraînement à l'évitement des obstacles : les obstacles peuvent être placés à des emplacements fixes ou aléatoires le long de la piste. Avec des emplacements fixes, les obstacles restent positionnés au même endroit tout au long de la tâche de formation. Avec des emplacements aléatoires, les obstacles changent de place de façon aléatoire d'un épisode à un autre.

Les formations peuvent plus facilement converger pour l'évitement d'obstacles à des emplacements fixes, car le système dispose de moins de degrés de liberté. Toutefois, les modèles peuvent être surajustés lorsque les informations de localisation sont intégrées aux modèles formés. De ce fait, ils risquent de ne pas être généralisés correctement. Pour l'évitement d'obstacles placés à des endroits aléatoires, Les formations peuvent plus difficilement converger, car l'agent doit continuer à apprendre à éviter de percuter des obstacles à des emplacements qu'il n'a pas vus auparavant. Par contre, les modèles formés avec cette option ont tendance à mieux se généraliser et à être transféré correctement aux courses du monde réel. Pour commencer, placez les obstacles à des endroits fixes, familiarisez-vous avec les comportements, puis attaquez-vous aux emplacements aléatoires.

Dans le DeepRacer simulateur AWS, les obstacles sont des boîtes cuboïdes ayant les mêmes dimensions (9,5 pouces (L) x 15,25 pouces (L) x 10/5 pouces (H)) que la boîte d'emballage du DeepRacer véhicule AWS. Il est ainsi plus simple de transférer le modèle formé du simulateur vers le monde réel si vous placez la boîte d'emballage en tant qu'obstacle sur la piste physique.

Pour vous entraîner à l'évitement d'obstacle, suivez la pratique recommandée décrite dans les étapes ci-dessous :

  1. Utilisez l'agent par défaut ou testez avec de nouveaux capteurs et espaces d'action en personnalisant un agent existant ou en créant un nouveau. Vous devez limiter la vitesse maximale à moins de 0,8 m/s et la granularité de la vitesse à 1 ou 2 niveaux.

    Commencez à former un modèle pendant environ 3 heures avec 2 objets à des emplacements fixes. Utilisez l'exemple de fonction de récompense et formez le modèle sur la piste sur laquelle vous allez courir, ou sur une piste qui y ressemble beaucoup. La piste AWS DeepRacer Smile Speedway (intermédiaire) est une piste simple, ce qui en fait un bon choix pour la préparation d'une course au sommet. Évaluez le modèle sur la même piste avec le même nombre d'obstacles. Regardez comment la récompense totale attendue converge, le cas échéant.

  2. Lisez les informations sur les paramètres de la fonction de récompense. Testez des variations de votre fonction de récompense. Augmentez le nombre d'obstacles à 4. Formez l'agent pour voir si la formation converge dans la même durée de formation. Si ce n'est pas le cas, modifiez à nouveau votre fonction de récompense, diminuez la vitesse maximale ou réduisez le nombre d'obstacles, puis formez à nouveau l'agent. Répétez l'expérimentation jusqu'à ce qu'il n'y ait plus d'amélioration significative.

  3. Ensuite, passez à la formation à l'évitement d'obstacles à des emplacements aléatoires. Vous devrez configurer l'agent avec des capteurs supplémentaires, disponibles auprès de Garage dans la DeepRacer console AWS. Vous pouvez utiliser une caméra stéréo. Vous pouvez également combiner une unité LiDAR avec une caméra mono-objectif ou une caméra stéréo, mais vous devez vous attendre à un temps de formation plus long. Réglez l'espace d'action avec une vitesse maximale relativement faible (par exemple 2 m/s) pour que l'entraînement converge plus rapidement. Pour l'architecture de réseau, utilisez un réseau neuronal peu profond, qui s'est avéré suffisant pour éviter les obstacles.

  4. Commencez à former le nouvel agent à l'évitement d'obstacles pendant 4 heures avec 4 objets placés de façon aléatoire sur une piste simple. Ensuite, évaluez votre modèle sur la même piste pour voir s'il peut terminer des tours avec des obstacles positionnés de façon aléatoire. Si ce n'est pas le cas, vous pouvez peaufiner votre fonction de récompense, essayer différents capteurs et allonger la durée de formation. Un autre conseil, vous pouvez essayer de cloner un modèle existant pour continuer la formation en tirant parti de l'expérience acquise précédemment.

  5. (Facultatif) Choisissez une vitesse maximale plus élevée pour l'espace d'action ou placez plus d'obstacles de façon aléatoire sur la piste. Testez différentes combinaisons de capteurs, et ajustez les fonctions de récompense et les valeurs des hyperparamètres. Testez la topologie de réseau CNN à 5 couches. Ensuite, formez à nouveau le modèle pour déterminer comment ces paramètres affectent la convergence de la formation.

Personnalisez la DeepRacer formation AWS pour les head-to-bot courses

Après avoir suivi l'entraînement pour éviter les obstacles, vous êtes maintenant prêt à relever le défi suivant : des modèles d'entraînement pour les head-to-bot courses. Contrairement aux épreuves d'évitement d'obstacles, les head-to-bot courses se déroulent dans un environnement dynamique avec des véhicules en mouvement. Votre objectif est de former des modèles pour que votre DeepRacer véhicule AWS puisse affronter d'autres véhicules en mouvement afin d'atteindre la ligne d'arrivée en premier sans dérailler ni percuter aucun autre véhicule. Dans la DeepRacer console AWS, vous pouvez entraîner un modèle de head-to-bot course en demandant à votre agent d'affronter 1 à 4 véhicules robots. Généralement, vous devriez avoir plus d'obstacles placés sur une piste plus longue.

Chaque véhicule bot suit une trajectoire prédéfinie à vitesse constante. Vous pouvez lui permettre de changer de voie ou de rester sur sa voie de départ. Comme pour la formation à l'évitement d'obstacles, vous pouvez répartir uniformément les véhicules bots sur la piste dans les deux voies. La console vous limite à 4 véhicules robots sur la piste. En ayant plus de véhicules sur la piste, vous offrez à l'agent d'apprentissage plus d'occasions de se confronter à des situations plus variées avec les autres véhicules. De cette façon, il apprend plus en une tâche de formation et il se forme plus rapidement. Cependant, chaque formation risque de prendre plus de temps pour converger.

Pour former un agent avec des véhicules bots, vous devez définir la vitesse maximale de l'espace d'action de l'agent à une valeur plus élevée que la vitesse (constante) des véhicules bots afin que l'agent ait plus d'occasions de dépassement lors de la formation. Comme bon point de départ, vous devez définir la vitesse maximale de l'agent à 0,8 m/s et la vitesse de déplacement d'un véhicule bot à 0,4 m/s. Si vous permettez aux bots de changer de voie, la formation devient plus difficile, car l'agent doit apprendre non seulement à éviter de percuter un véhicule en mouvement devant lui sur la même voie, mais aussi à éviter de heurter un autre véhicule en mouvement devant lui sur l'autre voie. Vous pouvez définir les bots de sorte qu'ils changent de voie à intervalles aléatoires. La durée d'un intervalle est sélectionnée de manière aléatoire parmi une plage de temps (par exemple, 1 s à 5 s) que vous spécifiez avant de commencer la tâche d'entraînement. Ce comportement de changement de voie est plus similaire aux comportements de head-to-bot course réels et l'agent entraîné devrait le faire mieux. Cependant, il faut plus de temps pour former le modèle à converger.

Suivez les étapes suggérées pour répéter votre entraînement en vue de la head-to-bot course :

  1. Dans le garage de la DeepRacer console AWS, créez un nouvel agent de formation configuré à la fois avec des caméras stéréo et une unité LiDAR. Il est possible de former un modèle relativement correct en utilisant uniquement une caméra stéréo avec des véhicules bots. LiDAR aide à réduire les angles morts lorsque l'agent change de voie. Ne définissez pas une vitesse maximale trop élevée. 1 m/s constitue un bon point de départ.

  2. Pour vous entraîner à la head-to-bot course, commencez avec deux véhicules robots. Réglez la vitesse de déplacement du robot à une vitesse inférieure à la vitesse maximale de votre agent (par exemple 0,5 m/s si la vitesse maximale de l'agent est de 1 m/s). Désactivez l'option de changement de voie, puis choisissez l'agent de formation que vous venez de créer. Utilisez l'un des exemples de fonction de récompense ou apportez les modifications minimales nécessaires, puis formez le modèle pendant 3 heures. Utilisez la piste sur laquelle vous allez courir, ou une piste qui y ressemble beaucoup. La piste AWS DeepRacer Smile Speedway (intermédiaire) est une piste simple, ce qui en fait un bon choix pour la préparation d'une course au sommet. Une fois la formation terminée, évaluez le modèle formé sur la même piste.

  3. Pour des tâches plus difficiles, clonez votre modèle entraîné pour un deuxième modèle head-to-bot de course. Continuez à expérimenter avec plus de véhicules bots ou activez des options de changement de voie. Commencez par des opérations de changement de voie lentes à des intervalles aléatoires de plus de 2 secondes. Vous pouvez également tester des fonctions de récompense personnalisées. En général, votre logique de fonction de récompense personnalisée peut être similaire à celle pour l'évitement d'obstacles, si vous ne cherchez pas à trouver un équilibre entre dépasser d'autres véhicules et rester sur la piste. Selon la qualité de votre modèle précédent, vous devrez peut-être vous former encore pendant 3 à 6 heures. Évaluez vos modèles et voyez comment le modèle fonctionne.