

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.

# Produits d'apprentissage automatique dans AWS Marketplace
<a name="machine-learning-products"></a>

En tant que AWS Marketplace vendeur, vous pouvez créer des algorithmes et des modèles d'apprentissage automatique (ML) dans lesquels vos acheteurs peuvent les déployer AWS. Cette rubrique fournit des informations sur les types de produits Amazon SageMaker AI répertoriés dans AWS Marketplace.

Il existe deux types de produits d' SageMaker intelligence artificielle répertoriés dans AWS Marketplace : 

**Package modèle**  
 Un modèle pré-entraîné pour faire des prédictions qui ne nécessite aucune formation supplémentaire de la part de l'acheteur. 

**Algorithm**  
 Modèle qui oblige l'acheteur à fournir des données de formation avant de faire des prédictions. L'algorithme d'entraînement est inclus. 

Ces produits sont disponibles pour les acheteurs via la console Amazon SageMaker AI ou AWS Marketplace. Les acheteurs peuvent consulter les descriptions des produits, la documentation, les avis des clients, les prix et les informations d'assistance. Lorsqu'ils s'abonnent à un package modèle ou à un produit algorithmique, celui-ci est ajouté à leur liste de produits sur la console SageMaker AI. Les acheteurs peuvent également utiliser AWS SDKs le AWS Command Line Interface (AWS CLI) ou la console SageMaker AI pour créer un point de terminaison d'inférence REST entièrement géré ou effectuer une inférence sur des lots de données. 

 Pour obtenir de l'aide sur la création de produits de machine learning avec Amazon SageMaker AI, contactez l'équipe [des opérations des AWS Marketplace vendeurs](https://aws.amazon.com/marketplace/management/contact-us/). 

# Comprendre les produits d'apprentissage automatique
<a name="ml-overview"></a>

 AWS Marketplace prend en charge deux types de produits d'apprentissage automatique, à l'aide d'Amazon SageMaker AI. Les deux types, les produits de package de modèles et les produits d'algorithmes, produisent un modèle d'inférence déployable pour effectuer des prédictions.

## SageMaker Package de modèles AI
<a name="ml-amazon-sagemaker-model-package"></a>

 Un produit [Amazon SageMaker AI Model Package](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html#sagemaker-mkt-model-package) contient un modèle préentraîné. Des modèles pré-entraînés peuvent être déployés dans l' SageMaker IA pour faire des inférences ou des prédictions en temps réel ou par lots. Ce produit contient un composant d'inférence entraîné avec des artefacts de modèle, le cas échéant. En tant que vendeur, vous pouvez entraîner un modèle à l'aide de l' SageMaker IA ou apporter votre propre modèle. 

## SageMaker Algorithme d'IA
<a name="ml-amazon-sagemaker-algorithm"></a>

 Les acheteurs peuvent utiliser un [algorithme d'SageMaker intelligence artificielle](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html#sagemaker-mkt-algorithm) pour effectuer des charges de travail complètes d'apprentissage automatique. Un produit algorithmique comporte deux composants logiques : l'entraînement et l'inférence. Dans l' SageMaker IA, les acheteurs utilisent leurs propres ensembles de données pour créer un poste de formation avec votre composante de formation. Lorsque l'algorithme de votre composant d'apprentissage est terminé, il génère les artefacts du modèle d'apprentissage automatique. SageMaker L'IA enregistre les artefacts du modèle dans le compartiment Amazon Simple Storage Service (Amazon S3) des acheteurs. Dans l' SageMaker IA, les acheteurs peuvent ensuite déployer votre composant d'inférence ainsi que les artefacts du modèle générés pour effectuer des inférences (ou des prédictions) en temps réel ou par lots. 

## Déploiement d'un modèle d'inférence
<a name="ml-deploying-an-inference-model"></a>

 Que le modèle d'inférence soit créé à partir d'un package de modèles ou d'un algorithme, il existe deux méthodes pour le déployer : 
+  Point de **terminaison** : cette méthode utilise l' SageMaker IA pour déployer le modèle et créer un point de terminaison d'API. L'acheteur peut utiliser ce point de terminaison dans le cadre de son service principal pour alimenter ses applications. Lorsque les données sont envoyées au point de terminaison, l' SageMaker IA les transmet au conteneur du modèle et renvoie les résultats dans une réponse d'API. Le terminal et le conteneur continuent de fonctionner jusqu'à ce que l'acheteur les arrête.
**Note**  
 Dans AWS Marketplace, la méthode du point de terminaison est appelée *inférence en temps réel*, et dans la documentation de l' SageMaker IA, elle est appelée *services d'hébergement*. Pour plus d'informations, consultez [Déployer un modèle dans Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-deployment.html). 
+  Tâche de **transformation par lots** : dans cette méthode, un acheteur stocke des ensembles de données à des fins d'inférence dans Amazon S3. Lorsque la tâche de transformation par lots démarre, l' SageMaker IA déploie le modèle, transmet les données d'un compartiment S3 au conteneur du modèle, puis renvoie les résultats dans un compartiment Amazon S3. Lorsque le travail est terminé, l' SageMaker IA l'arrête. Pour plus d'informations, consultez la section [Utiliser Batch Transform](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html).
**Note**  
 Les deux méthodes sont transparentes pour le modèle car l' SageMaker IA transmet les données au modèle et renvoie les résultats à l'acheteur. 

# Cycle de vie des produits de machine learning
<a name="ml-product-lifecycle"></a>

Un produit d'apprentissage automatique se AWS Marketplace compose d'une ou de plusieurs versions logicielles et de métadonnées associées. La configuration du produit inclut des propriétés essentielles telles que le nom, la description, les instructions d'utilisation, les prix, la catégorisation et les mots clés de recherche. 

## Processus de création de produits d'apprentissage automatique
<a name="ml-publication-process"></a>

 Pour mettre en vente un produit de machine learning dans AWS Marketplace, vous devez effectuer les opérations suivantes : 

1. [Préparation de votre produit grâce à l' SageMaker IA](ml-prepare-your-product-in-sagemaker.md)

1. [Mettre en vente votre produit dans AWS Marketplace](ml-publishing-your-product-in-aws-marketplace.md)

 Une fois que vous avez créé votre produit d'apprentissage automatique, vous pouvez le modifier et le gérer. Pour de plus amples informations, veuillez consulter [Gestion de vos produits d'apprentissage automatique](ml-product-management.md). 

## État du produit d'apprentissage automatique
<a name="ml-product-status"></a>

 Les nouveaux produits ont initialement une visibilité limitée et ne sont accessibles qu'aux comptes autorisés et au créateur du produit. Après les tests et la validation, vous pouvez publier votre produit pour le rendre disponible dans le AWS Marketplace catalogue pour tous les acheteurs. Les produits inclus AWS Marketplace peuvent avoir les valeurs de statut suivantes : 


| Statut | Définition | 
| --- |--- |
| Intermédiaire |  Ce statut indique un produit incomplet pour lequel vous ajoutez toujours des informations. Après avoir enregistré et quitté l'expérience en libre-service pour la première fois, il AWS Marketplace crée un produit non publié contenant les informations relatives aux étapes effectuées. À partir de ce statut, vous pouvez continuer à ajouter des informations ou à modifier les informations soumises.   | 
| Limité | Un produit atteint ce statut une fois qu'il a été soumis à tous les contrôles de validation AWS Marketplace et qu'il les a passés avec succès. À ce stade, le produit possède une page détaillée accessible uniquement à votre compte et aux entités répertoriées. Vous pouvez effectuer des tests de produits via cette page détaillée. | 
| Public | Lorsque vous êtes prêt à rendre votre produit visible pour les acheteurs qui s'abonnent, mettez à jour la visibilité du produit dans la console. Une fois traité, le produit passe du statut limité au statut public. Pour plus d'informations sur AWS les directives, voir[Exigences et meilleures pratiques pour créer des produits d'apprentissage automatique](ml-listing-requirements-and-best-practices.md).  | 
| Restreint |  Pour empêcher les nouveaux utilisateurs de s'abonner à votre produit, vous pouvez le restreindre en mettant à jour les paramètres de visibilité. Le statut Restreint permet aux utilisateurs autorisés existants de continuer à utiliser le produit, mais celui-ci ne sera plus visible pour le public ni disponible pour les nouveaux utilisateurs.  | 

 Pour plus d'informations ou pour obtenir de l'aide, contactez l'[équipe des opérations des AWS Marketplace vendeurs](https://aws.amazon.com/marketplace/management/contact-us/). 

# Tarification des produits d'apprentissage automatique pour AWS Marketplace
<a name="machine-learning-pricing"></a>

Vous pouvez choisir parmi plusieurs modèles de tarification disponibles pour vos produits Amazon SageMaker AI dans AWS Marketplace. Les acheteurs qui s'abonnent à votre produit l'utilisent eux-mêmes grâce à l' SageMaker IA Compte AWS. Le prix pour vos acheteurs est une combinaison des coûts d'infrastructure liés aux ressources qu'ils utilisent Compte AWS et de la tarification des produits que vous fixez. Les sections suivantes fournissent des informations sur les modèles de tarification des produits d' SageMaker intelligence artificielle dans AWS Marketplace

**Topics**
+ [Tarification des infrastructures](#ml-infrastructure-pricing)
+ [Tarification des logiciels](#ml-software-pricing)

## Tarification des infrastructures
<a name="ml-infrastructure-pricing"></a>

Les acheteurs sont responsables de tous les coûts d'infrastructure liés à l' SageMaker IA lorsqu'ils utilisent votre produit. Ces coûts sont définis AWS et sont disponibles sur la page de [tarification d'Amazon SageMaker AI](https://aws.amazon.com/sagemaker/pricing/).

## Tarification des logiciels
<a name="ml-software-pricing"></a>

Vous déterminez le prix du logiciel facturé AWS Marketplace à l'acheteur pour l'utilisation de votre produit. Vous définissez les prix et les conditions lorsque vous ajoutez votre produit d'apprentissage automatique à AWS Marketplace.

Tous les prix des infrastructures et des logiciels par type d'instance sont présentés à l'acheteur sur les pages de liste des produits AWS Marketplace avant que l'acheteur ne s'abonne.

**Topics**
+ [Tarification gratuite](#ml-pricing-free)
+ [Tarification horaire](#ml-pricing-hourly)
+ [Tarification par inférence](#ml-pricing-inference)
+ [Essai gratuit](#ml-pricing-free-trial)

### Tarification gratuite
<a name="ml-pricing-free"></a>

Vous pouvez choisir de proposer votre produit gratuitement. Dans ce cas, l'acheteur ne paie que les coûts d'infrastructure.

### Tarification horaire
<a name="ml-pricing-hourly"></a>

Vous pouvez proposer votre produit à un prix horaire par instance de votre logiciel fonctionnant dans l' SageMaker IA. Vous pouvez facturer un tarif horaire différent pour chaque type d'instance sur lequel votre logiciel s'exécute. Pendant qu'un acheteur utilise votre logiciel, AWS Marketplace suit son utilisation, puis facture l'acheteur en conséquence. L'utilisation est calculée au prorata de la minute.

Pour les *modèles de packages*, l'acheteur peut exécuter votre logiciel de deux manières différentes. Ils peuvent héberger un point de terminaison en continu pour effectuer des inférences en temps réel ou exécuter une tâche de transformation par lots sur un ensemble de données. Vous pouvez définir des prix différents pour les deux manières dont un acheteur peut utiliser votre logiciel.

Pour les produits *algorithmiques*, en plus de déterminer les prix pour effectuer des inférences, comme indiqué précédemment, vous déterminez également un prix horaire pour les tâches de formation. Vous pouvez facturer un tarif horaire différent pour chaque type d'instance pris en charge par votre image d'entraînement.

### Tarification par inférence
<a name="ml-pricing-inference"></a>

Lorsque l'acheteur exécute votre logiciel en hébergeant un point de terminaison pour effectuer en permanence des inférences en temps réel, vous pouvez choisir de fixer un prix par inférence.

**Note**  
Les types de produits ML suivants utilisent toujours la tarification horaire :  
Tâches de transformation par lots
Points de terminaison d'inférence asynchrones
Emplois de formation pour les produits algorithmiques
Vous fixez le prix pour chaque type indépendamment du prix d'inférence et de chacun des autres types.

Par défaut, avec la tarification par inférence, AWS Marketplace facture votre acheteur pour chaque appel de votre terminal. Cependant, dans certains cas, votre logiciel traite un lot d'inférences en un seul appel (également appelé *mini-lot*). Pour le déploiement d'un terminal, vous pouvez indiquer un nombre personnalisé d'inférences qui AWS Marketplace devraient être facturées à l'acheteur pour cet appel unique. Pour ce faire, incluez un en-tête de mesure personnalisé dans les en-têtes de réponse HTTP de votre appel, comme dans l'exemple suivant. Cet exemple montre une invocation qui facture trois inférences à l'acheteur.

```
X-Amzn-Inference-Metering: {"Dimension": "inference.count", "ConsumedUnits": 3}
```

**Note**  
En ce qui concerne les prix d'inférence, AWS Marketplace seuls les frais facturés à l'acheteur pour les demandes contenant le code de réponse HTTP sont `2XX` inclus.

### Essai gratuit
<a name="ml-pricing-free-trial"></a>

Vous pouvez éventuellement créer un essai gratuit pour votre produit et définir le nombre de jours d'essai gratuit. Les essais gratuits peuvent durer de 5 à 31 jours. Pendant la période d'essai gratuite, les acheteurs peuvent exécuter votre logiciel autant qu'ils le souhaitent sans frais. Les acheteurs sont facturés pour les coûts d'infrastructure pendant l'essai gratuit. À la fin de la période d'essai, le prix normal du logiciel leur est facturé, ainsi que les coûts d'infrastructure.

Lorsque les acheteurs s'abonnent à un produit avec un essai gratuit, ils reçoivent un e-mail de bienvenue. Le message inclut la durée de l'essai gratuit, une date d'expiration calculée et des informations sur le désabonnement. Un e-mail de rappel est envoyé trois jours avant la date d'expiration.

Si vous proposez un essai gratuit pour votre produit en AWS Marketplace, vous acceptez la [politique de remboursement](https://docs.aws.amazon.com/marketplace/latest/userguide/refunds.html#refund-policy) spécifique pour les essais gratuits. 

**Note**  
Pour plus d'informations sur les offres privées pour le machine learning, consultez la section [Offres privées](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-overview.html).

# Restrictions de service et quotas pour les produits d'apprentissage automatique dans AWS Marketplace
<a name="ml-service-restrictions-and-limits"></a>

Cette section décrit les restrictions et les quotas applicables à vos produits d'apprentissage automatique (ML) dans AWS Marketplace.

**Topics**
+ [Isolement de réseau](#ml-network-isolation)
+ [Taille de l’image](#ml-image-size)
+ [Taille de stockage](#ml-storage-size)
+ [Taille d’instance](#ml-instance-size)
+ [Taille de la charge utile pour l'inférence](#ml-payload-size-for-inference)
+ [Temps de traitement pour l'inférence](#ml-processing-time-for-inference)
+ [Quotas de service](#ml-service-quotas)
+ [Inférence sans serveur](#severless-inference)
+ [Entraînement Spot géré](#ml-managed-spot-training)
+ [Images Docker et Comptes AWS](#ml-docker-images-and-aws-accounts)
+ [Publication de packages de modèles à partir d'algorithmes intégrés ou AWS Marketplace](#ml-publishing-model-packages-from-built-in-algorithms-or-aws-marketplace)
+ [Supporté Régions AWS pour la publication](#ml-supported-aws-regions-for-publishing)

## Isolement de réseau
<a name="ml-network-isolation"></a>

Pour des raisons de sécurité, lorsqu'un acheteur s'abonne à votre produit conteneurisé, les conteneurs Docker sont exécutés dans un environnement isolé sans accès au réseau. Lorsque vous créez vos conteneurs, ne vous fiez pas aux appels sortants via Internet, car ils échoueront. Les appels vers Services AWS échoueront également. 

## Taille de l’image
<a name="ml-image-size"></a>

[La taille de votre image Docker est régie par les quotas du service Amazon Elastic Container Registry (Amazon ECR).](https://docs.aws.amazon.com/AmazonECR/latest/userguide/service_limits.html) La taille de l'image Docker affecte le temps de démarrage pendant les tâches de formation, les tâches de transformation par lots et la création de terminaux. Pour de meilleures performances, maintenez une taille d'image Docker optimale. 

## Taille de stockage
<a name="ml-storage-size"></a>

Lorsque vous créez un point de terminaison, Amazon SageMaker AI attache un volume de stockage Amazon Elastic Block Store (Amazon EBS) à chaque instance de calcul ML hébergeant le point de terminaison. (Un point de terminaison est également appelé *inférence en temps réel* ou *service d'hébergement Amazon SageMaker AI*.) La taille du volume de stockage dépend du type d'instance. Pour plus d'informations, consultez la section [Volumes de stockage des instances hôtes](https://docs.aws.amazon.com/sagemaker/latest/dg/host-instance-storage.html) dans le manuel *Amazon SageMaker AI Developer Guide*. 

Pour la transformation par lots, consultez [Storage in Batch Transform](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform-storage.html) dans le manuel *Amazon SageMaker AI Developer Guide*. 

## Taille d’instance
<a name="ml-instance-size"></a>

SageMaker L'IA propose une sélection de types d'instances optimisés pour s'adapter aux différents cas d'utilisation du ML. Les types d'instances sont composés de différentes combinaisons de CPU, de GPU, de mémoire et de capacité réseau. Les types d'instances vous offrent la flexibilité de choisir la combinaison appropriée de ressources pour créer, former et déployer vos modèles de machine learning. Pour plus d'informations, consultez la section [Types d'instances Amazon SageMaker AI ML](https://aws.amazon.com/sagemaker/pricing/instance-types/). 

## Taille de la charge utile pour l'inférence
<a name="ml-payload-size-for-inference"></a>

 Pour un point de terminaison, limitez la taille maximale des données d'entrée par appel à 25 Mo. Cette valeur ne peut pas être ajustée.

Pour la transformation par lots, la taille maximale des données d'entrée par appel est de 100 Mo. Cette valeur ne peut pas être ajustée.

## Temps de traitement pour l'inférence
<a name="ml-processing-time-for-inference"></a>

Pour un terminal, le temps de traitement maximal par appel est de 60 secondes pour les réponses régulières et de 8 minutes pour les réponses en streaming. Cette valeur ne peut pas être ajustée.

Pour la transformation par lots, le temps de traitement maximal par appel est de 60 minutes. Cette valeur ne peut pas être ajustée.

## Quotas de service
<a name="ml-service-quotas"></a>

Pour plus d'informations sur les quotas liés à la formation et à l'inférence, consultez [Amazon SageMaker AI Service Quotas](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker). 

## Inférence sans serveur
<a name="severless-inference"></a>

Les packages de modèles et les algorithmes publiés dans ne AWS Marketplace peuvent pas être déployés sur des points de terminaison configurés pour [Amazon SageMaker AI Serverless Inference](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html). Les points de terminaison configurés pour l'inférence sans serveur nécessitent que les modèles soient connectés au réseau. Tous les AWS Marketplace modèles fonctionnent en isolation du réseau. Pour plus d'informations, voir [Pas d'accès au réseau](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-security-and-intellectual-property.html#ml-no-network-access).

## Entraînement Spot géré
<a name="ml-managed-spot-training"></a>

Pour tous les algorithmes de AWS Marketplace, la valeur de `MaxWaitTimeInSeconds` est fixée à 3 600 secondes (60 minutes), même si le point de contrôle pour l'[entraînement ponctuel géré](https://docs.aws.amazon.com/sagemaker/latest/dg/model-managed-spot-training.html) est implémenté. Cette valeur ne peut pas être ajustée. 

## Images Docker et Comptes AWS
<a name="ml-docker-images-and-aws-accounts"></a>

Pour la publication, les images doivent être stockées dans les référentiels Amazon ECR appartenant Compte AWS au vendeur. Il n'est pas possible de publier des images stockées dans un référentiel appartenant à un autre Compte AWS. 

## Publication de packages de modèles à partir d'algorithmes intégrés ou AWS Marketplace
<a name="ml-publishing-model-packages-from-built-in-algorithms-or-aws-marketplace"></a>

Les packages modèles créés à partir de tâches de formation à l'aide d'un [algorithme intégré d'Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html) ou d'un algorithme issu d'un AWS Marketplace abonnement ne peuvent pas être publiés. 

Vous pouvez toujours utiliser les artefacts du modèle issus de la tâche de formation, mais votre propre image d'inférence est requise pour publier des packages de modèles. 

## Supporté Régions AWS pour la publication
<a name="ml-supported-aws-regions-for-publishing"></a>

AWS Marketplace prend en charge la publication de ressources de packages de modèles et d'algorithmes à partir Régions AWS desquelles les deux conditions suivantes sont vraies : 
+ Une région prise en [charge par Amazon SageMaker AI](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 
+ [Une [région disponible](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) qui est activée par défaut (par exemple, describe-regions renvoie)](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#ec2-describe-regions) `"OptInStatus": "opt-in-not-required"` 

Toutes les ressources nécessaires à la publication d'un package modèle ou d'un produit d'algorithme doivent être stockées dans la même région que celle à partir de laquelle vous choisissez de publier. Cela inclut les éléments suivants : 
+ Ressources de packages de modèles et d'algorithmes créées dans Amazon SageMaker AI 
+ Images d'inférence et de formation chargées dans les référentiels Amazon ECR 
+ Artefacts du modèle (le cas échéant) stockés dans Amazon Simple Storage Service et chargés dynamiquement lors du déploiement du modèle pour les ressources du package modèle 
+ Données de test pour l'inférence et la validation de l'entraînement stockées dans Amazon S3 

Vous pouvez développer et former votre produit dans n'importe quelle région prise en charge par l' SageMaker IA. Toutefois, avant de pouvoir publier, vous devez copier tous les actifs et recréer les ressources dans une région à partir de laquelle la publication est AWS Marketplace prise en charge. 

# Sécurité et propriété intellectuelle avec Amazon SageMaker AI
<a name="ml-security-and-intellectual-property"></a>

Amazon SageMaker AI protège à la fois votre propriété intellectuelle et les données des acheteurs pour les modèles et les algorithmes obtenus à partir de AWS Marketplace. Les sections suivantes fournissent plus d'informations sur la manière dont l' SageMaker IA protège la propriété intellectuelle et la sécurité des données des clients.

**Topics**
+ [Protection de la propriété intellectuelle](#ml-protecting-intellectual-property)
+ [Pas d'accès au réseau](#ml-no-network-access)
+ [Sécurité des données clients](#ml-security-of-customer-data)

## Protection de la propriété intellectuelle
<a name="ml-protecting-intellectual-property"></a>

 Lorsque vous créez un produit, le code est intégré dans des images de conteneur Docker. Pour plus d'informations[Préparation de votre produit grâce à l' SageMaker IA](ml-prepare-your-product-in-sagemaker.md), reportez-vous à la section suivante de ce guide. Lorsque vous téléchargez une image de conteneur, l'image et les artefacts sont chiffrés en transit et au repos. Les images sont également scannées pour détecter les vulnérabilités avant d'être publiées. 

 Pour protéger votre propriété intellectuelle, l' SageMaker IA permet uniquement aux acheteurs d'accéder à votre produit via des Service AWS terminaux. Les acheteurs ne peuvent pas accéder ou extraire directement les images des conteneurs ou les maquettes, pas plus qu'ils ne peuvent accéder à l'infrastructure sous-jacente. 

## Pas d'accès au réseau
<a name="ml-no-network-access"></a>

 Contrairement aux modèles et algorithmes d' SageMaker IA créés par les acheteurs, lorsque les acheteurs lancent votre produit AWS Marketplace, les modèles et algorithmes sont déployés sans accès au réseau. SageMaker L'IA déploie des images dans un environnement sans accès au réseau ou aux Service AWS terminaux. Par exemple, une image de conteneur ne peut pas effectuer d'appels d'API sortants vers des services sur Internet, des points de terminaison [VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) ou tout autre. Services AWS

## Sécurité des données clients
<a name="ml-security-of-customer-data"></a>

 Votre produit fonctionne grâce à l' SageMaker IA au sein de celui de l'acheteur Compte AWS. Ainsi, lorsqu'un acheteur utilise votre produit pour déduire des données, vous ne pouvez pas accéder à ses données en tant que vendeur. 

 Pour les produits algorithmiques, les artefacts du modèle sont générés par votre image d'entraînement après chaque tâche de formation. Les artefacts du modèle sont stockés dans le compte de l'acheteur. Les artefacts du modèle issus de la tâche de formation sont utilisés lorsque l'acheteur déploie le modèle avec votre image d'inférence. Pour protéger toute propriété intellectuelle susceptible d'être contenue dans l'artefact modèle, chiffrez-les avant de les générer. 

**Important**  
 Ce modèle de sécurité empêche votre code d'accéder à Internet au cours de l'exécution. Par conséquent, votre code ne peut pas utiliser de ressources ou de bibliothèques provenant d'Internet, alors empaquetez vos dépendances dans l'image du conteneur Docker. Cela est particulièrement important si vous choisissez de chiffrer les artefacts que vous produisez lors de la formation. Les clés permettant de chiffrer et de déchiffrer les artefacts ne sont pas accessibles sur Internet lors de l'exécution. Elles doivent être empaquetées avec votre image. 

 Pour plus d'informations, consultez [la section Sécurité dans Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/security.html). 

# Rapports d'apprentissage automatique dans AWS Marketplace
<a name="ml-reporting"></a>

AWS Marketplace produit des rapports pour vos produits Amazon SageMaker AI qui incluent des données sur les acheteurs, les données financières, l'utilisation et les taxes. Tous les rapports sont disponibles Portail de gestion AWS Marketplace sur la [page Rapports](https://aws.amazon.com/marketplace/management/reports). Pour plus d'informations, consultez les [rapports sur les vendeurs](https://docs.aws.amazon.com/marketplace/latest/userguide/Reporting.html). Les sections suivantes fournissent des informations récapitulatives sur les rapports relatifs aux produits d'apprentissage automatique.

**Topics**
+ [Rapport d'activité quotidien](#ml-daily-business-report)
+ [Rapport mensuel sur les recettes](#ml-monthly-revenue-report)
+ [Rapport sur les versements](#ml-disbursement-report)
+ [Autres rapports et analyses](#ml-other-reports)

## Rapport d'activité quotidien
<a name="ml-daily-business-report"></a>

 Le rapport commercial quotidien fournit le type d'instance, les heures d'utilisation, les recettes provenant des frais logiciels et d'autres informations pour chaque acheteur et produit. Les acheteurs peuvent être identifiés par leur Compte AWS identifiant. Pour plus d'informations, consultez le [rapport commercial quotidien](https://docs.aws.amazon.com/marketplace/latest/userguide/daily-business-report.html). 

## Rapport mensuel sur les recettes
<a name="ml-monthly-revenue-report"></a>

 Le rapport de revenus mensuel vous indique le chiffre d'affaires mensuel facturé à vos acheteurs pour l'utilisation de votre logiciel. Pour plus d'informations, consultez le [rapport sur les recettes facturées mensuelles](https://docs.aws.amazon.com/marketplace/latest/userguide/monthly-billed-revenue-report.html). 

## Rapport sur les versements
<a name="ml-disbursement-report"></a>

 Le rapport mensuel des versements fournit une ventilation de tous les fonds collectés en votre nom pendant la période de règlement de vos frais logiciels. Le montant total du règlement indiqué dans le rapport doit correspondre au montant déposé sur votre compte bancaire. Pour plus d'informations, consultez le [rapport sur les décaissements](https://docs.aws.amazon.com/marketplace/latest/userguide/monthly-disbursement-report.html). 

## Autres rapports et analyses
<a name="ml-other-reports"></a>

 Pour les autres rapports disponibles, consultez la section [Rapports sur les vendeurs](https://docs.aws.amazon.com/marketplace/latest/userguide/dashboards.html). 

Vous pouvez également créer des rapports personnalisés à l'aide [Les données de livraison du vendeur sont transmises AWS Marketplace](data-feed-service.md) du formulaire disponible AWS Marketplace.

# Préparation de votre produit grâce à l' SageMaker IA
<a name="ml-prepare-your-product-in-sagemaker"></a>

Avant de pouvoir publier votre produit dans AWS Marketplace, vous devez le préparer dans Amazon SageMaker AI. Il existe deux types de produits d' SageMaker intelligence artificielle répertoriés dans AWS Marketplace : les packages de modèles et les algorithmes. Pour de plus amples informations, veuillez consulter [Produits d'apprentissage automatique dans AWS Marketplace](machine-learning-products.md). Cette rubrique fournit un aperçu des trois étapes nécessaires à la préparation de votre produit :

1. [Regrouper votre code sous forme d'images pour les produits d'apprentissage automatique dans AWS Marketplace](ml-packaging-your-code-into-images.md)— Pour préparer un package modèle ou un produit algorithmique, vous devez créer les images du conteneur Docker pour votre produit. 

1. [Téléchargement de vos images sur Amazon Elastic Container Registry](ml-uploading-your-images.md)— Après avoir empaqueté votre code dans des images de conteneur et les avoir testées localement, téléchargez les images et scannez-les pour détecter les vulnérabilités connues. Corrigez les vulnérabilités éventuelles avant de continuer. 

1.  [Création de votre ressource Amazon SageMaker AI](ml-creating-your-amazon-sagemaker-resource.md)— Une fois vos images numérisées avec succès, vous pouvez les utiliser pour créer un package de modèles ou une ressource d'algorithme dans SageMaker AI.

# Regrouper votre code sous forme d'images pour les produits d'apprentissage automatique dans AWS Marketplace
<a name="ml-packaging-your-code-into-images"></a>

Les produits de machine learning AWS Marketplace utilisent Amazon SageMaker AI pour créer et exécuter la logique d'apprentissage automatique que vous proposez aux acheteurs. SageMaker L'IA exécute des images de conteneurs Docker qui contiennent votre logique. SageMaker L'IA gère ces conteneurs dans une infrastructure sécurisée et évolutive. Pour de plus amples informations, veuillez consulter [Sécurité et propriété intellectuelle avec Amazon SageMaker AI](ml-security-and-intellectual-property.md). Les sections suivantes fournissent des informations sur la façon d'empaqueter votre code dans des images de conteneur Docker pour l' SageMaker IA.

**Topics**
+ [Quel type d'image de conteneur dois-je créer ?](#ml-which-type-of-container-image-do-i-create)
+ [Création d'images de paquets-modèles](ml-model-package-images.md)
+ [Création d'images d'algorithmes](ml-algorithm-images.md)

## Quel type d'image de conteneur dois-je créer ?
<a name="ml-which-type-of-container-image-do-i-create"></a>

 Les deux types d'images de conteneur sont une image d'inférence et une image d'apprentissage. 

 Pour créer un produit d'emballage modèle, vous n'avez besoin que d'une image d'inférence. Pour obtenir des instructions complètes, consultez [Création d'images de paquets-modèles](ml-model-package-images.md). 

 Pour créer un produit algorithmique, vous avez besoin à la fois d'images d'entraînement et d'inférence. Pour obtenir des instructions complètes, consultez [Création d'images d'algorithmes](ml-algorithm-images.md). 

 Pour empaqueter correctement le code dans une image de conteneur, le conteneur doit respecter la structure du fichier SageMaker AI. Le conteneur doit exposer les points de terminaison appropriés pour garantir que le service puisse transmettre des données vers et depuis votre conteneur. Les sections suivantes expliquent les détails de ce processus. 

**Important**  
 Pour des raisons de sécurité, lorsqu'un acheteur s'abonne à votre produit conteneurisé, les conteneurs Docker s'exécutent dans un environnement isolé sans connexion Internet. Lorsque vous créez vos conteneurs, ne vous fiez pas aux appels sortants sur Internet, car ils échoueront. Les appels vers Services AWS échoueront également. Pour plus d’informations, consultez la section [Sécurité et propriété intellectuelle avec Amazon SageMaker AI](ml-security-and-intellectual-property.md). 

 Si vous le souhaitez, lorsque vous créez vos images d'inférence et d'entraînement, utilisez un conteneur d'[Available Deep Learning Containers Images](https://aws.amazon.com/releasenotes/available-deep-learning-containers-images/) comme point de départ. Les images sont déjà correctement emballées avec différents frameworks d'apprentissage automatique. 

# Création d'images de paquets-modèles
<a name="ml-model-package-images"></a>

Un package de modèles Amazon SageMaker AI est un modèle préentraîné qui fait des prédictions et ne nécessite aucune formation supplémentaire de la part de l'acheteur. Vous pouvez créer un package modèle dans SageMaker AI et publier votre produit d'apprentissage automatique sur AWS Marketplace. Les sections suivantes expliquent comment créer un modèle de package pour AWS Marketplace. Cela inclut la création de l'image du conteneur, ainsi que la création et le test de l'image localement.

**Topics**
+ [Présentation de](#ml-model-package-images-overview)
+ [Création d'une image d'inférence pour les packages modèles](#ml-creating-an-inference-image-for-model-packages)

## Présentation de
<a name="ml-model-package-images-overview"></a>

 Un modèle de package inclut les composants suivants : 
+  Une image d'inférence stockée dans [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) (Amazon ECR) 
+  (Facultatif) Artefacts du modèle, stockés séparément dans [Amazon S3](https://aws.amazon.com/s3/) 

**Note**  
Les artefacts du modèle sont des fichiers que votre modèle utilise pour faire des prédictions et sont généralement le résultat de vos propres processus de formation. Les artefacts peuvent être n'importe quel type de fichier requis par votre modèle, mais ils doivent être compressés par use.tar.gz. Pour les packages modèles, ils peuvent être regroupés dans votre image d'inférence ou stockés séparément dans Amazon SageMaker AI. Les artefacts du modèle stockés dans Amazon S3 sont chargés dans le conteneur d'inférence lors de l'exécution. Lorsque vous publiez votre modèle de package, ces artefacts sont publiés et stockés dans des compartiments Amazon S3 AWS Marketplace détenus, auxquels l'acheteur ne peut accéder directement. 

**Astuce**  
Si votre modèle d'inférence est construit avec un framework d'apprentissage profond tel que Gluon, Keras,,, MXNet PyTorch, TensorFlow TensorFlow -Lite ou ONNX, pensez à utiliser Amazon AI Neo. SageMaker Neo peut optimiser automatiquement les modèles d'inférence déployés sur une famille spécifique de types d'instances cloud tels que`ml.c4`,`ml.p2`, et autres. Pour plus d'informations, consultez [Optimiser les performances des modèles à l'aide de Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html) dans le manuel *Amazon SageMaker AI Developer Guide*.

Le schéma suivant montre le flux de travail pour la publication et l'utilisation de modèles de packages. 

![\[Schéma illustrant comment un vendeur crée une image de colis modèle et comment l'acheteur l'utilise.\]](http://docs.aws.amazon.com/fr_fr/marketplace/latest/userguide/images/ml-model-package-images.png)


Le processus de création d'un package de modèles d' SageMaker IA pour AWS Marketplace inclut les étapes suivantes :

1. Le vendeur crée une image d'inférence (aucun accès au réseau lors du déploiement) et l'envoie dans le registre Amazon ECR. 

   Les artefacts du modèle peuvent être regroupés dans l'image d'inférence ou stockés séparément dans S3.

1. Le vendeur crée ensuite une ressource de package modèle dans Amazon SageMaker AI et publie son produit ML sur AWS Marketplace.

1. L'acheteur souscrit au produit ML et déploie le modèle. 
**Note**  
 Le modèle peut être déployé en tant que point de terminaison pour des inférences en temps réel ou en tant que traitement par lots pour obtenir des prédictions pour un ensemble de données complet en une seule fois. Pour plus d'informations, voir [Déployer des modèles à des fins d'inférence](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html). 

1. SageMaker L'IA exécute l'image d'inférence. Tous les artefacts de modèle fournis par le vendeur qui ne sont pas regroupés dans l'image d'inférence sont chargés dynamiquement lors de l'exécution. 

1.  SageMaker L'IA transmet les données d'inférence de l'acheteur au conteneur en utilisant les points de terminaison HTTP du conteneur et renvoie les résultats des prédictions. 

## Création d'une image d'inférence pour les packages modèles
<a name="ml-creating-an-inference-image-for-model-packages"></a>

Cette section fournit une procédure pas à pas pour intégrer votre code d'inférence dans une image d'inférence pour votre modèle de produit. Le processus comprend les étapes suivantes :

**Topics**
+ [Étape 1 : Création de l'image du conteneur](#ml-step-1-creating-the-container-image)
+ [Étape 2 : Création et test de l'image localement](#ml-step-2-building-and-testing-the-image-locally)

L'image d'inférence est une image Docker contenant votre logique d'inférence. Au moment de l'exécution, le conteneur expose les points de terminaison HTTP pour permettre à l' SageMaker IA de transmettre des données vers et depuis votre conteneur. 

**Note**  
 Ce qui suit n'est qu'un exemple de code d'emballage pour une image d'inférence. Pour plus d'informations, consultez la section [Utilisation de conteneurs Docker avec l' SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) et les [exemples d'AWS Marketplace SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace) sur GitHub.  
L'exemple suivant utilise un service Web, [Flask](https://pypi.org/project/Flask/), pour des raisons de simplicité, et n'est pas considéré comme prêt pour la production.

### Étape 1 : Création de l'image du conteneur
<a name="ml-step-1-creating-the-container-image"></a>

 Pour que l'image d'inférence soit compatible avec l' SageMaker IA, l'image Docker doit exposer les points de terminaison HTTP. Pendant le fonctionnement de votre conteneur, l'SageMaker IA transmet les données de l'acheteur au point de terminaison HTTP du conteneur à des fins d'inférence. Les résultats de l'inférence sont renvoyés dans le corps de la réponse HTTP. 

 La procédure pas à pas suivante utilise la CLI Docker dans un environnement de développement utilisant une distribution Linux Ubuntu. 
+ [Création du script du serveur Web](#ml-create-the-web-server-script)
+ [Créez le script pour l'exécution du conteneur](#ml-create-the-script-for-the-container-run)
+ [Créer le `Dockerfile`](#ml-create-the-dockerfile)
+ [Package ou téléchargement des artefacts du modèle](#ml-package-or-upload-the-model-artifacts)

#### Création du script du serveur Web
<a name="ml-create-the-web-server-script"></a>

 Cet exemple utilise un serveur Python appelé [Flask](https://pypi.org/project/Flask/), mais vous pouvez utiliser n'importe quel serveur Web adapté à votre framework. 

**Note**  
[Le flacon](https://pypi.org/project/Flask/) est utilisé ici pour des raisons de simplicité. Il n'est pas considéré comme un serveur Web prêt pour la production.

 Créez un script de serveur Web Flask qui dessert les deux points de terminaison HTTP sur le port TCP 8080 utilisé par AI. SageMaker Les deux paramètres attendus sont les suivants : 
+  `/ping`— SageMaker L'IA envoie des requêtes HTTP GET à ce point de terminaison pour vérifier si votre conteneur est prêt. Lorsque votre conteneur est prêt, il répond aux requêtes HTTP GET sur ce point de terminaison avec un code de réponse HTTP 200. 
+  `/invocations`— SageMaker L'IA envoie des requêtes HTTP POST à ce point de terminaison à des fins d'inférence. Les données d'entrée à des fins d'inférence sont envoyées dans le corps de la demande. Le type de contenu spécifié par l'utilisateur est transmis dans l'en-tête HTTP. Le corps de la réponse est le résultat d'inférence. Pour plus de détails sur les délais d'expiration, consultez[Exigences et meilleures pratiques pour créer des produits d'apprentissage automatique](ml-listing-requirements-and-best-practices.md). 

 **`./web_app_serve.py`** 

```
# Import modules
import json
import re
from flask import Flask
from flask import request
app = Flask(__name__)

# Create a path for health checks
@app.route("/ping")
def endpoint_ping():
  return ""
 
# Create a path for inference
@app.route("/invocations", methods=["POST"])
def endpoint_invocations():
  
  # Read the input
  input_str = request.get_data().decode("utf8")
  
  # Add your inference code between these comments.
  #
  #
  #
  #
  #
  # Add your inference code above this comment.
  
  # Return a response with a prediction
  response = {"prediction":"a","text":input_str}
  return json.dumps(response)
```

Dans l'exemple précédent, il n'existe aucune logique d'inférence réelle. Pour votre image d'inférence réelle, ajoutez la logique d'inférence dans l'application Web afin qu'elle traite l'entrée et renvoie la prédiction réelle.

Votre image d'inférence doit contenir toutes les dépendances requises, car elle n'aura pas accès à Internet et ne pourra pas passer d'appels vers aucune Services AWS d'entre elles.

**Note**  
Ce même code est utilisé pour les inférences en temps réel et par lots

#### Créez le script pour l'exécution du conteneur
<a name="ml-create-the-script-for-the-container-run"></a>

 Créez un script nommé `serve` que l' SageMaker IA exécute lorsqu'elle exécute l'image du conteneur Docker. Le script suivant démarre le serveur Web HTTP. 

 **`./serve`** 

```
#!/bin/bash

# Run flask server on port 8080 for SageMaker
flask run --host 0.0.0.0 --port 8080
```

#### Créer le `Dockerfile`
<a name="ml-create-the-dockerfile"></a>

 Créez un `Dockerfile` dans votre contexte de construction. Cet exemple utilise Ubuntu 18.04, mais vous pouvez commencer à partir de n'importe quelle image de base adaptée à votre framework. 

 `./Dockerfile` 

```
FROM ubuntu:18.04

# Specify encoding
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

# Install python-pip
RUN apt-get update \
&& apt-get install -y python3.6 python3-pip \
&& ln -s /usr/bin/python3.6 /usr/bin/python \
&& ln -s /usr/bin/pip3 /usr/bin/pip;

# Install flask server
RUN pip install -U Flask;

# Add a web server script to the image
# Set an environment to tell flask the script to run
COPY /web_app_serve.py /web_app_serve.py
ENV FLASK_APP=/web_app_serve.py

# Add a script that Amazon SageMaker AI will run
# Set run permissions
# Prepend program directory to $PATH
COPY /serve /opt/program/serve
RUN chmod 755 /opt/program/serve
ENV PATH=/opt/program:${PATH}
```

 `Dockerfile`Ajoute les deux scripts créés précédemment à l'image. Le répertoire du `serve` script est ajouté au PATH afin qu'il puisse s'exécuter lorsque le conteneur s'exécute. 

#### Package ou téléchargement des artefacts du modèle
<a name="ml-package-or-upload-the-model-artifacts"></a>

 Les deux manières de fournir les artefacts du modèle depuis l'entraînement du modèle jusqu'à l'image d'inférence sont les suivantes : 
+  Emballé statiquement avec l'image d'inférence. 
+  Chargé dynamiquement au moment de l'exécution. Comme elle est chargée dynamiquement, vous pouvez utiliser la même image pour empaqueter différents modèles de machine learning.

 Si vous souhaitez empaqueter les artefacts de votre modèle avec l'image d'inférence, incluez-les dans le`Dockerfile`. 

 Si vous souhaitez charger les artefacts de votre modèle de manière dynamique, stockez-les séparément dans un fichier compressé (.tar.gz) dans Amazon S3. Lors de la création du package modèle, spécifiez l'emplacement du fichier compressé, et SageMaker AI extrait et copie le contenu dans le répertoire du conteneur `/opt/ml/model/` lors de l'exécution de votre conteneur. Lorsque vous publiez votre modèle de package, ces artefacts sont publiés et stockés dans des compartiments Amazon S3 AWS Marketplace détenus, auxquels l'acheteur ne peut accéder directement. 

### Étape 2 : Création et test de l'image localement
<a name="ml-step-2-building-and-testing-the-image-locally"></a>

 Dans le contexte de construction, les fichiers suivants existent désormais : 
+  `./Dockerfile` 
+  `./web_app_serve.py` 
+  `./serve` 
+  Votre logique d'inférence et vos dépendances (facultatives) 

 Créez, exécutez et testez ensuite l'image du conteneur. 

#### Construisez l'image
<a name="ml-build-the-image"></a>

 Exécutez la commande Docker dans le contexte de construction pour créer et étiqueter l'image. Cet exemple utilise la balise`my-inference-image`. 

```
sudo docker build --tag my-inference-image ./
```

 Après avoir exécuté cette commande Docker pour créer l'image, vous devriez voir une sortie car Docker crée l'image en fonction de chaque ligne de votre. `Dockerfile` Une fois l'opération terminée, vous devriez voir quelque chose de similaire à ce qui suit. 

```
Successfully built abcdef123456
Successfully tagged my-inference-image:latest
```

#### Exécuter localement
<a name="ml-run-locally"></a>

 Une fois votre compilation terminée, vous pouvez tester l'image localement. 

```
sudo docker run \
  --rm \
  --publish 8080:8080/tcp \
  --detach \
  --name my-inference-container \
  my-inference-image \
  serve
```

 Vous trouverez ci-dessous des informations sur la commande : 
+ `--rm`— Retirez automatiquement le contenant une fois qu'il s'est arrêté.
+ `--publish 8080:8080/tcp`— Exposez le port 8080 pour simuler le port auquel SageMaker AI envoie des requêtes HTTP.
+ `--detach`— Lancez le conteneur en arrière-plan.
+ `--name my-inference-container`— Donnez un nom à ce conteneur en cours d'exécution.
+ `my-inference-image`— Exécute l'image créée.
+ `serve`— Exécutez le même script que celui que SageMaker l'IA exécute lors de l'exécution du conteneur.

 Après avoir exécuté cette commande, Docker crée un conteneur à partir de l'image d'inférence que vous avez créée et l'exécute en arrière-plan. Le conteneur exécute le `serve` script, qui lance votre serveur Web à des fins de test. 

#### Testez le point de terminaison HTTP ping
<a name="ml-test-the-ping-http-endpoint"></a>

 Lorsque SageMaker l'IA gère votre conteneur, elle envoie régulièrement un ping au point de terminaison. Lorsque le point de terminaison renvoie une réponse HTTP avec le code d'état 200, il indique à l' SageMaker IA que le conteneur est prêt pour l'inférence. Vous pouvez le tester en exécutant la commande suivante, qui teste le point de terminaison et inclut l'en-tête de réponse. 

```
curl --include http://127.0.0.1:8080/ping
```

L'exemple de sortie est le suivant.

```
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 0
Server: MyServer/0.16.0 Python/3.6.8
Date: Mon, 21 Oct 2019 06:58:54 GMT
```

#### Tester le point de terminaison HTTP d'inférence
<a name="ml-test-the-inference-http-endpoint"></a>

 Lorsque le conteneur indique qu'il est prêt en renvoyant un code d'état 200 à votre ping, SageMaker AI transmet les données d'inférence au point de terminaison `/invocations` HTTP via une `POST` requête. Testez le point d'inférence en exécutant la commande suivante. 

```
curl \
  --request POST \
  --data "hello world" \
  http://127.0.0.1:8080/invocations
```

 L'exemple de sortie est le suivant. 

 `{"prediction": "a", "text": "hello world"}` 

 Ces deux points de terminaison HTTP fonctionnant, l'image d'inférence est désormais compatible avec SageMaker l'IA. 

**Note**  
 Le modèle de votre modèle de package peut être déployé de deux manières : en temps réel et par lots. Dans les deux déploiements, l' SageMaker IA utilise les mêmes points de terminaison HTTP lors de l'exécution du conteneur Docker. 

 Pour arrêter le conteneur, exécutez la commande suivante.

```
sudo docker container stop my-inference-container
```

 Lorsque votre image d'inférence est prête et testée, vous pouvez continuer[Téléchargement de vos images sur Amazon Elastic Container Registry](ml-uploading-your-images.md). 

# Création d'images d'algorithmes
<a name="ml-algorithm-images"></a>

Un algorithme d' SageMaker intelligence artificielle d'Amazon exige que l'acheteur apporte ses propres données pour s'entraîner avant de faire des prédictions. En tant que AWS Marketplace vendeur, vous pouvez utiliser l' SageMaker IA pour créer des algorithmes et des modèles d'apprentissage automatique (ML) dans lesquels vos acheteurs peuvent les déployer AWS. Les sections suivantes expliquent comment créer des images d'algorithmes pour AWS Marketplace. Cela inclut la création de l'image d'entraînement Docker pour entraîner votre algorithme et de l'image d'inférence contenant votre logique d'inférence. Les images d'apprentissage et d'inférence sont requises lors de la publication d'un produit algorithmique.

**Topics**
+ [Présentation de](#ml-algorithm-images-overview)
+ [Création d'une image d'entraînement pour les algorithmes](#ml-creating-a-training-image-for-algorithms)
+ [Création d'une image d'inférence pour les algorithmes](#ml-creating-an-inference-image-for-algorithms)

## Présentation de
<a name="ml-algorithm-images-overview"></a>

Un algorithme comprend les composants suivants : 
+  Une image d'entraînement stockée dans [Amazon ECR](https://aws.amazon.com/ecr/) 
+  Une image d'inférence stockée dans Amazon Elastic Container Registry (Amazon ECR) 

**Note**  
 Pour les produits d'algorithmes, le conteneur de formation génère des artefacts de modèle qui sont chargés dans le conteneur d'inférence lors du déploiement du modèle. 

Le schéma suivant montre le flux de travail pour la publication et l'utilisation de produits algorithmiques.

![\[Schéma illustrant comment un vendeur crée une image de package algorithmique et comment l'acheteur l'utilise.\]](http://docs.aws.amazon.com/fr_fr/marketplace/latest/userguide/images/ml-algorithm-package-images.png)


Le processus de création d'un algorithme d' SageMaker IA pour AWS Marketplace inclut les étapes suivantes :

1. Le vendeur crée une image de formation et une image d'inférence (aucun accès réseau lors du déploiement) et les télécharge dans le registre Amazon ECR. 

1. Le vendeur crée ensuite une ressource d'algorithme dans Amazon SageMaker AI et publie son produit ML sur AWS Marketplace.

1. L'acheteur souscrit au produit ML. 

1. L'acheteur crée une tâche de formation avec un ensemble de données compatible et des valeurs d'hyperparamètres appropriées. SageMaker L'IA exécute l'image d'entraînement et charge les données d'entraînement et les hyperparamètres dans le conteneur d'entraînement. Une fois la tâche de formation terminée, les artefacts du modèle qui s'`/opt/ml/model/`y trouvent sont compressés et copiés dans le compartiment [Amazon S3](https://aws.amazon.com/s3/) de l'acheteur. 

1. L'acheteur crée un package modèle avec les artefacts du modèle issus de la formation stockés dans Amazon S3 et déploie le modèle. 

1. SageMaker L'IA exécute l'image d'inférence, extrait les artefacts du modèle compressé et charge les fichiers dans le chemin du répertoire du conteneur d'inférence `/opt/ml/model/` où ils sont consommés par le code servant à l'inférence. 

1.  Que le modèle soit déployé en tant que point de terminaison ou en tant que tâche de transformation par lots, l' SageMaker IA transmet les données au conteneur à des fins d'inférence pour le compte de l'acheteur via le point de terminaison HTTP du conteneur et renvoie les résultats de la prédiction. 

**Note**  
 Pour plus d'informations, consultez la section [Modèles de train](https://docs.aws.amazon.com/sagemaker/latest/dg/train-model.html). 

## Création d'une image d'entraînement pour les algorithmes
<a name="ml-creating-a-training-image-for-algorithms"></a>

 Cette section fournit une procédure pas à pas pour intégrer votre code d'entraînement dans une image d'entraînement. Une image d'apprentissage est requise pour créer un produit algorithmique. 

 Une *image d'entraînement* est une image Docker contenant votre algorithme d'entraînement. Le conteneur adhère à une structure de fichier spécifique pour permettre à l' SageMaker IA de copier des données vers et depuis votre conteneur. 

 Les images d'apprentissage et d'inférence sont requises lors de la publication d'un produit algorithmique. Après avoir créé votre image d'entraînement, vous devez créer une image d'inférence. Les deux images peuvent être combinées en une seule image ou rester sous forme d'images distinctes. C'est à vous de décider de combiner les images ou de les séparer. En général, l'inférence est plus simple que l'entraînement, et vous pouvez avoir besoin d'images distinctes pour améliorer les performances d'inférence.

**Note**  
 Ce qui suit n'est qu'un exemple de code d'emballage pour une image d'entraînement. Pour plus d'informations, consultez la section [Utiliser vos propres algorithmes et modèles avec les AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-marketplace.html) [exemples d'AWS Marketplace SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace) ci-dessous GitHub.

**Topics**
+ [Étape 1 : Création de l'image du conteneur](#ml-step-1-creating-the-container-image-1)
+ [Étape 2 : Création et test de l'image localement](#ml-step-2-building-and-testing-the-image-locally-1)

### Étape 1 : Création de l'image du conteneur
<a name="ml-step-1-creating-the-container-image-1"></a>

 Pour que l'image d'entraînement soit compatible avec Amazon SageMaker AI, elle doit respecter une structure de fichier spécifique afin de permettre à SageMaker AI de copier les données d'entraînement et les entrées de configuration vers des chemins spécifiques de votre conteneur. Une fois la formation terminée, les artefacts du modèle générés sont stockés dans un chemin de répertoire spécifique dans le conteneur à partir duquel SageMaker AI copie. 

 Ce qui suit utilise la CLI Docker installée dans un environnement de développement sur une distribution Ubuntu de Linux. 
+ [Préparez votre programme pour lire les entrées de configuration](#ml-prepare-your-program-to-read-configuration-inputs)
+ [Préparez votre programme pour lire les entrées de données](#ml-prepare-your-program-to-read-data-inputs)
+ [Préparez votre programme pour rédiger des résultats de formation](#ml-prepare-your-program-to-write-training-outputs)
+ [Créez le script pour l'exécution du conteneur](#ml-create-the-script-for-the-container-run-1)
+ [Créer le `Dockerfile`](#ml-create-the-dockerfile-1)

#### Préparez votre programme pour lire les entrées de configuration
<a name="ml-prepare-your-program-to-read-configuration-inputs"></a>

 Si votre programme de formation nécessite des entrées de configuration fournies par l'acheteur, celles-ci sont copiées ci-dessous dans votre conteneur lors de leur exécution. Le cas échéant, votre programme doit lire ces chemins de fichiers spécifiques. 
+  `/opt/ml/input/config`est le répertoire qui contient les informations qui contrôlent le mode d'exécution de votre programme. 
  +  `hyperparameters.json`est un dictionnaire au format JSON contenant les noms et les valeurs des hyperparamètres. Les valeurs étant des chaînes, vous devrez peut-être les convertir. 
  +  `resourceConfig.json`[est un fichier au format JSON qui décrit la structure du réseau utilisée pour la formation distribuée.](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-running-container.html#your-algorithms-training-algo-running-container-dist-training) Si votre image d'entraînement ne prend pas en charge l'entraînement distribué, vous pouvez ignorer ce fichier. 

**Note**  
 Pour plus d'informations sur les entrées de configuration, consultez [Comment Amazon SageMaker AI fournit des informations de formation](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-running-container.html). 

#### Préparez votre programme pour lire les entrées de données
<a name="ml-prepare-your-program-to-read-data-inputs"></a>

 Les données d'entraînement peuvent être transmises au conteneur dans l'un des deux modes suivants. Votre programme d'entraînement qui s'exécute dans le conteneur digère les données d'entraînement dans l'un de ces deux modes. 

 **Mode fichier** 
+  `/opt/ml/input/data/<channel_name>/`contient les données d'entrée pour ce canal. Les canaux sont créés en fonction de l'appel à l'`CreateTrainingJob`opération, mais il est généralement important que les canaux correspondent aux attentes de l'algorithme. Les fichiers de chaque canal sont copiés depuis [Amazon S3](https://aws.amazon.com/s3/) vers ce répertoire, en préservant la structure arborescente indiquée par la structure clé d'Amazon S3. 

 **Mode tuyau** 
+  `/opt/ml/input/data/<channel_name>_<epoch_number>`est le tube pour une époque donnée. Les époques commencent à zéro et augmentent d'un à chaque fois que vous les lisez. Il n'y a pas de limite au nombre d'époques que vous pouvez exécuter, mais vous devez fermer chaque tube avant de lire l'époque suivante. 

#### Préparez votre programme pour rédiger des résultats de formation
<a name="ml-prepare-your-program-to-write-training-outputs"></a>

 Le résultat de la formation est écrit dans les répertoires de conteneurs suivants : 
+  `/opt/ml/model/`est le répertoire dans lequel vous écrivez le modèle ou les artefacts du modèle générés par votre algorithme d'apprentissage. Votre modèle peut être dans le format de votre choix. Il peut s'agir d'un seul fichier ou d'une arborescence de répertoires complète. SageMaker AI regroupe tous les fichiers de ce répertoire dans un fichier compressé (.tar.gz). Ce fichier est disponible à l'emplacement Amazon S3 renvoyé par l'opération `DescribeTrainingJob` d'API. 
+  `/opt/ml/output/`est un répertoire dans lequel l'algorithme peut écrire un `failure` fichier décrivant les raisons de l'échec de la tâche. Le contenu de ce fichier est renvoyé dans le `FailureReason` champ du `DescribeTrainingJob` résultat. Pour les tâches qui réussissent, il n'y a aucune raison d'écrire ce fichier car il est ignoré. 

#### Créez le script pour l'exécution du conteneur
<a name="ml-create-the-script-for-the-container-run-1"></a>

 Créez un script `train` shell que l' SageMaker IA exécute lorsqu'elle exécute l'image du conteneur Docker. Lorsque la formation est terminée et que les artefacts du modèle sont écrits dans leurs répertoires respectifs, quittez le script. 

 **`./train`** 

```
#!/bin/bash

# Run your training program here
#
#
#
#
```

#### Créer le `Dockerfile`
<a name="ml-create-the-dockerfile-1"></a>

 Créez un `Dockerfile` dans votre contexte de construction. Cet exemple utilise Ubuntu 18.04 comme image de base, mais vous pouvez commencer à partir de n'importe quelle image de base adaptée à votre infrastructure. 

 **`./Dockerfile`** 

```
FROM ubuntu:18.04

# Add training dependencies and programs
#
#
#
#
#
# Add a script that SageMaker AI will run
# Set run permissions
# Prepend program directory to $PATH
COPY /train /opt/program/train
RUN chmod 755 /opt/program/train
ENV PATH=/opt/program:${PATH}
```

 `Dockerfile`Ajoute le `train` script créé précédemment à l'image. Le répertoire du script est ajouté au PATH afin qu'il puisse s'exécuter lorsque le conteneur s'exécute. 

 Dans l'exemple précédent, il n'existe pas de véritable logique d'entraînement. Pour votre image d'entraînement réelle, ajoutez les dépendances d'entraînement au et ajoutez la `Dockerfile` logique permettant de lire les entrées d'entraînement afin d'entraîner et de générer les artefacts du modèle. 

 Votre image d'entraînement doit contenir toutes les dépendances requises, car elle n'aura pas accès à Internet. 

 Pour plus d'informations, consultez la section [Utiliser vos propres algorithmes et modèles avec les AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-marketplace.html) [exemples d'AWS Marketplace SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace) ci-dessous GitHub.

### Étape 2 : Création et test de l'image localement
<a name="ml-step-2-building-and-testing-the-image-locally-1"></a>

 Dans le contexte de construction, les fichiers suivants existent désormais : 
+ `./Dockerfile`
+ `./train`
+ Vos dépendances et votre logique d'entraînement

 Vous pouvez ensuite créer, exécuter et tester cette image de conteneur. 

#### Construisez l'image
<a name="ml-build-the-image-1"></a>

 Exécutez la commande Docker dans le contexte de construction pour créer et étiqueter l'image. Cet exemple utilise la balise`my-training-image`. 

```
sudo docker build --tag my-training-image ./
```

 Après avoir exécuté cette commande Docker pour créer l'image, vous devriez voir une sortie car Docker crée l'image en fonction de chaque ligne de votre. `Dockerfile` Une fois l'opération terminée, vous devriez voir quelque chose de similaire à ce qui suit. 

```
Successfully built abcdef123456
Successfully tagged my-training-image:latest
```

#### Exécuter localement
<a name="ml-run-locally-1"></a>

 Une fois cette opération terminée, testez l'image localement comme indiqué dans l'exemple suivant. 

```
sudo docker run \
  --rm \
  --volume '<path_to_input>:/opt/ml/input:ro' \
  --volume '<path_to_model>:/opt/ml/model' \
  --volume '<path_to_output>:/opt/ml/output' \
  --name my-training-container \
  my-training-image \
  train
```

 Les détails de la commande sont les suivants : 
+  `--rm`— Retirez automatiquement le contenant une fois qu'il s'est arrêté. 
+  `--volume '<path_to_input>:/opt/ml/input:ro'`— Rend le répertoire d'entrée de test disponible pour le conteneur en lecture seule. 
+  `--volume '<path_to_model>:/opt/ml/model'`— Fixez le chemin où les artefacts du modèle sont stockés sur la machine hôte une fois le test d'entraînement terminé. 
+  `--volume '<path_to_output>:/opt/ml/output'`— Lind mount le chemin où la raison de l'échec d'un `failure` fichier est écrite sur la machine hôte. 
+  `--name my-training-container`— Donnez un nom à ce conteneur en cours d'exécution. 
+  `my-training-image`— Exécute l'image créée. 
+  `train`— Exécutez le même script que celui que SageMaker l'IA exécute lors de l'exécution du conteneur. 

 Après avoir exécuté cette commande, Docker crée un conteneur à partir de l'image d'entraînement que vous avez créée et l'exécute. Le conteneur exécute le `train` script, qui démarre votre programme d'entraînement. 

 Une fois que votre programme d'entraînement est terminé et que le conteneur est sorti, vérifiez que les artefacts du modèle de sortie sont corrects. En outre, vérifiez les résultats des journaux pour vous assurer qu'ils ne produisent pas des journaux indésirables, tout en vous assurant que suffisamment d'informations sont fournies sur le poste de formation. 

 Ceci termine le packaging de votre code d'entraînement pour un produit algorithmique. Étant donné qu'un produit algorithmique inclut également une image d'inférence, passez à la section suivante,[Création d'une image d'inférence pour les algorithmes](#ml-creating-an-inference-image-for-algorithms). 

## Création d'une image d'inférence pour les algorithmes
<a name="ml-creating-an-inference-image-for-algorithms"></a>

 Cette section fournit une procédure pas à pas pour intégrer votre code d'inférence dans une image d'inférence pour votre produit algorithmique. 

 L'image d'inférence est une image Docker contenant votre logique d'inférence. Au moment de l'exécution, le conteneur expose les points de terminaison HTTP pour permettre à l' SageMaker IA de transmettre des données vers et depuis votre conteneur. 

 Les images d'apprentissage et d'inférence sont requises lors de la publication d'un produit algorithmique. Si ce n'est pas déjà fait, consultez la section précédente à propos de[Création d'une image d'entraînement pour les algorithmes](#ml-creating-a-training-image-for-algorithms). Les deux images peuvent être combinées en une seule image ou rester sous forme d'images distinctes. C'est à vous de décider de combiner les images ou de les séparer. En général, l'inférence est plus simple que l'entraînement, et vous pouvez avoir besoin d'images distinctes pour améliorer les performances d'inférence.

**Note**  
 Ce qui suit n'est qu'un exemple de code d'emballage pour une image d'inférence. Pour plus d'informations, consultez la section [Utiliser vos propres algorithmes et modèles avec les AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-marketplace.html) [exemples d'AWS Marketplace SageMaker IA](https://github.com/aws/amazon-sagemaker-examples/tree/master/aws_marketplace) ci-dessous GitHub.  
L'exemple suivant utilise un service Web, [Flask](https://pypi.org/project/Flask/), pour des raisons de simplicité, et n'est pas considéré comme prêt pour la production.

**Topics**
+ [Étape 1 : Création de l'image d'inférence](#ml-step-1-creating-the-inference-image)
+ [Étape 2 : Création et test de l'image localement](#ml-step-2-building-and-testing-the-image-locally-2)

### Étape 1 : Création de l'image d'inférence
<a name="ml-step-1-creating-the-inference-image"></a>

 Pour que l'image d'inférence soit compatible avec l' SageMaker IA, l'image Docker doit exposer les points de terminaison HTTP. Pendant le fonctionnement de votre conteneur, l'SageMaker IA transmet les entrées à des fins d'inférence fournies par l'acheteur au point de terminaison HTTP de votre conteneur. Le résultat de l'inférence est renvoyé dans le corps de la réponse HTTP. 

 Ce qui suit utilise la CLI Docker installée dans un environnement de développement sur une distribution Ubuntu de Linux. 
+ [Création du script du serveur Web](#ml-create-the-web-server-script-1) 
+ [Créez le script pour l'exécution du conteneur](#ml-create-the-script-for-the-container-run-2)
+ [Créer le `Dockerfile`](#ml-create-the-dockerfile-2)
+ [Préparation de votre programme pour le chargement dynamique des artefacts du modèle](#ml-preparing-your-program-to-dynamically-load-model-artifacts)

#### Création du script du serveur Web
<a name="ml-create-the-web-server-script-1"></a>

 Cet exemple utilise un serveur Python appelé [Flask](https://pypi.org/project/Flask/), mais vous pouvez utiliser n'importe quel serveur Web adapté à votre framework. 

**Note**  
[Le flacon](https://pypi.org/project/Flask/) est utilisé ici pour des raisons de simplicité. Il n'est pas considéré comme un serveur Web prêt pour la production.

 Créez le script du serveur Web Flask qui dessert les deux points de terminaison HTTP sur le port TCP 8080 utilisé par AI. SageMaker Les deux paramètres attendus sont les suivants : 
+  `/ping`— SageMaker L'IA envoie des requêtes HTTP GET à ce point de terminaison pour vérifier si votre conteneur est prêt. Lorsque votre conteneur est prêt, il répond aux requêtes HTTP GET sur ce point de terminaison avec un code de réponse HTTP 200. 
+  `/invocations`— SageMaker L'IA envoie des requêtes HTTP POST à ce point de terminaison à des fins d'inférence. Les données d'entrée à des fins d'inférence sont envoyées dans le corps de la demande. Le type de contenu spécifié par l'utilisateur est transmis dans l'en-tête HTTP. Le corps de la réponse est le résultat d'inférence. 

 **`./web_app_serve.py`** 

```
# Import modules
import json
import re
from flask import Flask
from flask import request
app = Flask(__name__)

# Create a path for health checks
@app.route("/ping")
def endpoint_ping():
  return ""
 
# Create a path for inference
@app.route("/invocations", methods=["POST"])
def endpoint_invocations():
  
  # Read the input
  input_str = request.get_data().decode("utf8")
  
  # Add your inference code here.
  #
  #
  #
  #
  #
  # Add your inference code here.
  
  # Return a response with a prediction
  response = {"prediction":"a","text":input_str}
  return json.dumps(response)
```

 Dans l'exemple précédent, il n'existe aucune logique d'inférence réelle. Pour votre image d'inférence réelle, ajoutez la logique d'inférence dans l'application Web afin qu'elle traite l'entrée et renvoie la prédiction. 

 Votre image d'inférence doit contenir toutes les dépendances requises car elle n'aura pas accès à Internet. 

#### Créez le script pour l'exécution du conteneur
<a name="ml-create-the-script-for-the-container-run-2"></a>

 Créez un script nommé `serve` que l' SageMaker IA exécute lorsqu'elle exécute l'image du conteneur Docker. Dans ce script, démarrez le serveur Web HTTP. 

 **`./serve`** 

```
#!/bin/bash

# Run flask server on port 8080 for SageMaker AI
flask run --host 0.0.0.0 --port 8080
```

#### Créer le `Dockerfile`
<a name="ml-create-the-dockerfile-2"></a>

 Créez un `Dockerfile` dans votre contexte de construction. Cet exemple utilise Ubuntu 18.04, mais vous pouvez partir de n'importe quelle image de base adaptée à votre framework. 

 **`./Dockerfile`** 

```
FROM ubuntu:18.04

# Specify encoding
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

# Install python-pip
RUN apt-get update \
&& apt-get install -y python3.6 python3-pip \
&& ln -s /usr/bin/python3.6 /usr/bin/python \
&& ln -s /usr/bin/pip3 /usr/bin/pip;

# Install flask server
RUN pip install -U Flask;

# Add a web server script to the image
# Set an environment to tell flask the script to run
COPY /web_app_serve.py /web_app_serve.py
ENV FLASK_APP=/web_app_serve.py

# Add a script that Amazon SageMaker AI will run
# Set run permissions
# Prepend program directory to $PATH
COPY /serve /opt/program/serve
RUN chmod 755 /opt/program/serve
ENV PATH=/opt/program:${PATH}
```

 `Dockerfile`Ajoute les deux scripts créés précédemment à l'image. Le répertoire du `serve` script est ajouté au PATH afin qu'il puisse s'exécuter lorsque le conteneur s'exécute. 

#### Préparation de votre programme pour le chargement dynamique des artefacts du modèle
<a name="ml-preparing-your-program-to-dynamically-load-model-artifacts"></a>

 Pour les produits algorithmiques, l'acheteur utilise ses propres ensembles de données avec votre image d'apprentissage pour générer des artefacts de modèle uniques. Lorsque le processus de formation est terminé, votre conteneur de formation génère les artefacts du modèle dans le répertoire des conteneurs` /opt/ml/model/`. SageMaker L'IA compresse le contenu de ce répertoire dans un fichier .tar.gz et le stocke dans celui de l'acheteur sur Compte AWS Amazon S3.

 Lorsque le modèle est déployé, l' SageMaker IA exécute votre image d'inférence, extrait les artefacts du modèle du fichier .tar.gz stocké dans le compte de l'acheteur sur Amazon S3 et les charge dans le conteneur d'inférence du répertoire. `/opt/ml/model/` Au moment de l'exécution, le code de votre conteneur d'inférence utilise les données du modèle. 

**Note**  
 Pour protéger toute propriété intellectuelle susceptible d'être contenue dans les fichiers d'artefacts modèles, vous pouvez choisir de chiffrer les fichiers avant de les générer. Pour de plus amples informations, veuillez consulter [Sécurité et propriété intellectuelle avec Amazon SageMaker AI](ml-security-and-intellectual-property.md). 

### Étape 2 : Création et test de l'image localement
<a name="ml-step-2-building-and-testing-the-image-locally-2"></a>

 Dans le contexte de construction, les fichiers suivants existent désormais : 
+ `./Dockerfile`
+ `./web_app_serve.py`
+ `./serve`

 Vous pouvez ensuite créer, exécuter et tester cette image de conteneur. 

#### Construisez l'image
<a name="ml-build-the-image-2"></a>

 Exécutez la commande Docker pour créer et étiqueter l'image. Cet exemple utilise la balise`my-inference-image`. 

```
sudo docker build --tag my-inference-image ./
```

 Après avoir exécuté cette commande Docker pour créer l'image, vous devriez voir une sortie car Docker crée l'image en fonction de chaque ligne de votre. `Dockerfile` Une fois l'opération terminée, vous devriez voir quelque chose de similaire à ce qui suit. 

```
Successfully built abcdef123456
Successfully tagged my-inference-image:latest
```

#### Exécuter localement
<a name="ml-run-locally-2"></a>

 Une fois votre compilation terminée, vous pouvez tester l'image localement. 

```
sudo docker run \
  --rm \
  --publish 8080:8080/tcp \
  --volume '<path_to_model>:/opt/ml/model:ro' \
  --detach \
  --name my-inference-container \
  my-inference-image \
  serve
```

 Les détails de la commande sont les suivants : 
+  `--rm`— Retirez automatiquement le contenant une fois qu'il s'est arrêté. 
+  `--publish 8080:8080/tcp`— Exposez le port 8080 pour simuler le port SageMaker auquel AI envoie des requêtes HTTP. 
+  `--volume '<path_to_model>:/opt/ml/model:ro'`— Fixez le chemin vers lequel les artefacts du modèle de test sont stockés sur la machine hôte en lecture seule afin de les mettre à la disposition de votre code d'inférence dans le conteneur. 
+  `--detach`— Lancez le conteneur en arrière-plan. 
+  `--name my-inference-container`— Donnez un nom à ce conteneur en cours d'exécution. 
+  `my-inference-image`— Exécute l'image créée. 
+  `serve`— Exécutez le même script que celui que SageMaker l'IA exécute lors de l'exécution du conteneur. 

 Après avoir exécuté cette commande, Docker crée un conteneur à partir de l'image d'inférence et l'exécute en arrière-plan. Le conteneur exécute le `serve` script, qui démarre votre serveur Web à des fins de test. 

#### Testez le point de terminaison HTTP ping
<a name="ml-test-the-ping-http-endpoint-1"></a>

 Lorsque SageMaker l'IA gère votre conteneur, elle envoie régulièrement un ping au point de terminaison. Lorsque le point de terminaison renvoie une réponse HTTP avec le code d'état 200, il indique à l' SageMaker IA que le conteneur est prêt pour l'inférence. 

 Exécutez la commande suivante pour tester le point de terminaison et inclure l'en-tête de réponse. 

```
curl --include http://127.0.0.1:8080/ping
```

 Un exemple de sortie est illustré dans l'exemple suivant. 

```
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 0
Server: MyServer/0.16.0 Python/3.6.8
Date: Mon, 21 Oct 2019 06:58:54 GMT
```

#### Tester le point de terminaison HTTP d'inférence
<a name="ml-test-the-inference-http-endpoint-1"></a>

 Lorsque le conteneur indique qu'il est prêt en renvoyant un code d'état 200, l' SageMaker IA transmet les données d'inférence au point de terminaison `/invocations` HTTP via une `POST` demande. 

 Exécutez la commande suivante pour tester le point de terminaison d'inférence. 

```
curl \
  --request POST \
  --data "hello world" \
  http://127.0.0.1:8080/invocations
```

 Un exemple de sortie est illustré dans l'exemple suivant. 

```
{"prediction": "a", "text": "hello world"}
```

 Ces deux points de terminaison HTTP fonctionnant, l'image d'inférence est désormais compatible avec SageMaker l'IA. 

**Note**  
 Le modèle de votre produit algorithmique peut être déployé de deux manières : en temps réel et par lots. Pour les deux déploiements, SageMaker AI utilise les mêmes points de terminaison HTTP lors de l'exécution du conteneur Docker. 

 Pour arrêter le conteneur, exécutez la commande suivante. 

```
sudo docker container stop my-inference-container
```

 Une fois que vos images d'entraînement et d'inférence pour votre produit algorithmique sont prêtes et testées, continuez. [Téléchargement de vos images sur Amazon Elastic Container Registry](ml-uploading-your-images.md) 

# Téléchargement de vos images sur Amazon Elastic Container Registry
<a name="ml-uploading-your-images"></a>

Après avoir créé vos images d'inférence et d'entraînement, vous pouvez les télécharger sur Amazon Elastic Container Registry. [Amazon ECR](https://aws.amazon.com/ecr/) est un registre Docker entièrement géré. Amazon SageMaker AI extrait des images d'Amazon ECR pour créer un package modèle à des fins d'inférence ou un algorithme pour les tâches de formation. AWS Marketplace récupère également ces images sur Amazon ECR pour publier votre package de modèles et vos produits d'algorithmes. Cette rubrique fournit une procédure pas à pas pour télécharger vos images d'inférence et de formation sur Amazon ECR.

**Topics**
+ [Quelles images dois-je télécharger ?](#ml-which-images-must-i-upload)
+ [Quelles sont les autorisations IAM requises ?](#ml-what-iam-permissions-are-required)
+ [Connectez votre client Docker à AWS](#ml-log-in-your-docker-client)
+ [Création d'un référentiel et téléchargement d'une image](#ml-create-repository-and-upload-image)
+ [Scannez l'image que vous avez téléchargée](#ml-scan-your-uploaded-image)

## Quelles images dois-je télécharger ?
<a name="ml-which-images-must-i-upload"></a>

 Si vous publiez un modèle de package, téléchargez uniquement une image d'inférence. Si vous publiez un algorithme, téléchargez à la fois une image d'inférence et une image d'entraînement. Si les images d'inférence et d'entraînement sont combinées, téléchargez l'image combinée une seule fois. 

## Quelles sont les autorisations IAM requises ?
<a name="ml-what-iam-permissions-are-required"></a>

 Les étapes suivantes supposent que la machine locale possède les AWS informations d'identification correctes pour un rôle ou un utilisateur Gestion des identités et des accès AWS (IAM) chez le vendeur Compte AWS. Le rôle ou l'utilisateur doit disposer des politiques appropriées à la fois pour Amazon ECR AWS Marketplace et pour Amazon ECR. Par exemple, vous pouvez utiliser les politiques AWS gérées suivantes : 
+  [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceSellerProductsFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceSellerProductsFullAccess.html)— Pour accéder à AWS Marketplace 
+  [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html)— Pour accéder à Amazon ECR 

**Note**  
Les liens vous redirigent vers le *AWS Managed Policy Reference*.

## Connectez votre client Docker à AWS
<a name="ml-log-in-your-docker-client"></a>

 Définissez une variable pour le Région AWS document à partir duquel vous souhaitez publier (voir[Supporté Régions AWS pour la publication](ml-service-restrictions-and-limits.md#ml-supported-aws-regions-for-publishing)). Pour cet exemple, utilisez la région USA Est (Ohio). 

```
region=us-east-2
```

 Exécutez la commande suivante pour définir une variable avec votre Compte AWS identifiant. Cet exemple suppose que les informations d'identification actuelles AWS Command Line Interface (AWS CLI) appartiennent à celles du vendeur Compte AWS. 

```
account=$(aws sts get-caller-identity --query Account --output text)
```

 Pour authentifier votre client Docker CLI auprès de votre registre Docker Compte AWS Amazon ECR pour votre région, exécutez la commande suivante.

```
aws ecr get-login-password \
--region ${region} \
| sudo docker login \
--username AWS \
--password-stdin \
${account}.dkr.ecr.${region}.amazonaws.com
```

## Création d'un référentiel et téléchargement d'une image
<a name="ml-create-repository-and-upload-image"></a>

 Définissez une variable pour le tag de l'image téléchargée et une autre variable pour le nom du référentiel d'images téléchargé. 

```
image=my-inference-image
repo=my-inference-image
```

**Note**  
 Dans les sections précédentes de ce guide où les images d'inférence et d'entraînement ont été créées, elles ont été étiquetées comme **my-inference-image**et **my-training-image**, respectivement. Pour cet exemple, créez et téléchargez l'image d'inférence dans un référentiel portant le même nom. 

 Exécutez la commande suivante pour créer le référentiel d'images dans Amazon ECR. 

```
aws ecr --region ${region} create-repository --repository-name "${repo}"
```

 Le nom complet de l'emplacement du référentiel Amazon ECR est composé des éléments suivants : ` <account-id>.dkr.ecr.<region>.amazonaws.com/<image-repository-name>` 

 Pour transférer l'image vers le référentiel, vous devez l'étiqueter avec le nom complet de l'emplacement du référentiel. 

 Définissez une variable pour le nom complet de l'emplacement du référentiel d'images ainsi que le `latest` tag. 

```
fullname="${account}.dkr.ecr.${region}.amazonaws.com/${repo}:latest"
```

 Marquez l'image avec le nom complet. 

```
sudo docker tag ${image} ${fullname}
```

 Enfin, transférez l'image d'inférence vers le référentiel d'Amazon ECR. 

```
sudo docker push ${fullname}
```

 Une fois le chargement terminé, l'image apparaît dans la [liste des référentiels de la console Amazon ECR](https://console.aws.amazon.com/ecr/repositories?region=us-east-2) de la région à partir de laquelle vous publiez. Dans l'exemple précédent, l'image a été transférée vers un référentiel de la région USA Est (Ohio). 

## Scannez l'image que vous avez téléchargée
<a name="ml-scan-your-uploaded-image"></a>

 Dans la [console Amazon ECR](https://console.aws.amazon.com/ecr/repositories?region=us-east-2), choisissez Région AWS celui à partir duquel vous publiez et ouvrez le référentiel dans lequel l'image a été téléchargée. Sélectionnez l'image que vous avez téléchargée et lancez une analyse pour détecter les vulnérabilités connues. AWS Marketplace vérifie les résultats du scan Amazon ECR des images de conteneurs utilisées dans votre ressource Amazon SageMaker AI avant de les publier. Avant de créer votre produit, vous devez corriger les images de conteneur présentant des vulnérabilités de gravité critique ou élevée. 

 Une fois que vos images ont été numérisées avec succès, elles peuvent être utilisées pour créer un paquetage modèle ou une ressource d'algorithme. 

Si vous pensez que le scan de votre produit contient des erreurs qui sont des faux positifs, contactez l'équipe chargée [des opérations avec les AWS Marketplace vendeurs](https://aws.amazon.com/marketplace/management/contact-us) pour obtenir des informations sur l'erreur.

 **Étapes suivantes** 
+  Voir les limites de taille dans [Exigences et meilleures pratiques pour créer des produits d'apprentissage automatique](ml-listing-requirements-and-best-practices.md) 
+  Continuez vers [Création de votre ressource Amazon SageMaker AI](ml-creating-your-amazon-sagemaker-resource.md) 

# Création de votre ressource Amazon SageMaker AI
<a name="ml-creating-your-amazon-sagemaker-resource"></a>

 Pour publier un package modèle ou un produit d'algorithme, vous devez créer la ressource de [package de modèle ou la ressource](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-creating-your-amazon-sagemaker-resource.html#ml-creating-your-model-package-product) d'[algorithme](https://docs.aws.amazon.com/marketplace/latest/userguide/ml-creating-your-amazon-sagemaker-resource.html#ml-creating-your-algorithm-product) correspondante dans Amazon SageMaker AI. Lorsque vous créez votre ressource pour un AWS Marketplace produit, celle-ci doit être certifiée par le biais d'une étape de validation. L'étape de validation nécessite que vous fournissiez des données pour tester votre paquetage de modèles ou votre ressource d'algorithme avant de pouvoir les publier. Les sections suivantes vous montrent comment créer votre ressource d' SageMaker IA, qu'il s'agisse d'une ressource de package modèle ou d'une ressource d'algorithme. Cela inclut la définition des spécifications de validation qui indiquent à l' SageMaker IA comment effectuer la validation. 

**Note**  
Si vous n'avez pas encore créé les images de votre produit et ne les avez pas chargées sur Amazon Elastic Container Registry (Amazon ECR), [Regrouper votre code sous forme d'images pour les produits d'apprentissage automatique dans AWS Marketplace](ml-packaging-your-code-into-images.md) consultez [Téléchargement de vos images sur Amazon Elastic Container Registry](ml-uploading-your-images.md) et pour obtenir des informations sur la procédure à suivre.

**Topics**
+ [Création de votre modèle de package](#ml-creating-your-model-package-product)
+ [Création de votre algorithme](#ml-creating-your-algorithm-product)

## Création de votre modèle de package
<a name="ml-creating-your-model-package-product"></a>

 Les conditions suivantes sont requises pour créer un modèle de package pour AWS Marketplace : 
+  Une image d'inférence stockée dans [Amazon ECR](https://aws.amazon.com/ecr/) 
+  (Facultatif) Artefacts du modèle, stockés séparément dans [Amazon S3](https://aws.amazon.com/s3/) 
+ Vos données de test utilisées pour les inférences, stockées dans Amazon Simple Storage Service 

**Note**  
 Ce qui suit concerne la création d'un modèle de produit d'emballage. Pour plus d'informations sur les packages de modèles dans l' SageMaker IA, consultez la section [Créer une ressource de packages de modèles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-create-model-package.html). 

### Création des ressources du package modèle
<a name="ml-create-model-package"></a>

Les procédures suivantes vous guident dans la création des ressources du package modèle.

**Étape 1 : Pour créer les ressources du package modèle**

1. Ouvrez la [console Amazon SageMaker AI](https://us-east-2.console.aws.amazon.com/sagemaker/home).

1. Vérifiez que vous vous trouvez dans la AWS région à partir de laquelle vous souhaitez publier en regardant en haut à droite de la page. Pour la publication, consultez la [Supporté Régions AWS pour la publication](ml-service-restrictions-and-limits.md#ml-supported-aws-regions-for-publishing) section. L'image d'inférence que vous avez chargée sur Amazon ECR lors des étapes précédentes doit se trouver dans la même région. 

1. Dans le menu de navigation de gauche, choisissez **Model packages**.

1. Sélectionnez **Create model package (Créer un package de modèle)**.

Après avoir créé le package, vous devez définir les spécifications du package d'inférence.

**Étape 2 : Pour définir les spécifications d'inférence**

1.  Entrez un **nom** pour votre modèle de package (par exemple,*my-model-package*). 

1.  Pour **Emplacement de l'image d'inférence**, entrez l'URI de votre image d'inférence qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la [console Amazon ECR.](https://us-east-2.console.aws.amazon.com/ecr/repositories) 

1.  Si les artefacts de votre modèle issus de l'entraînement sont intégrés à votre logique dans votre image d'inférence, laissez le champ **Emplacement des artefacts de données du modèle vide**. Sinon, spécifiez l'emplacement complet sur Amazon S3 du fichier compressé (.tar.gz) des artefacts de votre modèle. 

1.  À l'aide de la liste déroulante, choisissez les types d'instance pris en charge pour votre image d'inférence en temps réel (également appelée point de *terminaison*) et pour les tâches de transformation par lots. 

1.  Choisissez **Suivant**. 

 Avant que votre modèle de package puisse être créé et publié, une validation est nécessaire pour garantir qu'il fonctionne comme prévu. Cela nécessite que vous exécutiez une tâche de transformation par lots avec les données de test que vous fournissez à des fins d'inférence. Les spécifications de validation indiquent à SageMaker AI comment effectuer la validation. 

**Étape 3 : Pour définir les spécifications de validation**

1.  Définissez **Publier ce modèle de package AWS Marketplace** sur **Oui**. Si vous définissez ce paramètre sur **Non**, vous ne pourrez pas publier ce modèle de package ultérieurement. Le fait de choisir **Oui** [certifie](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html#sagemaker-CreateModelPackage-request-CertifyForMarketplace) votre modèle de package AWS Marketplace et nécessite l'étape de validation. 

1.  Si c'est la première fois que ce processus est terminé, choisissez **Create a new role** for the **IAM role**. Amazon SageMaker AI utilise ce rôle lorsqu'il déploie votre modèle de package. Cela inclut des actions, telles que l'extraction d'images depuis Amazon ECR et d'artefacts depuis Amazon S3. Vérifiez les paramètres, puis choisissez **Create role**. La création d'un rôle ici accorde les autorisations décrites par la politique [ AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)IAM au rôle que vous créez. 

1.  Modifiez le **JSON** dans le profil de validation. Pour plus de détails sur les valeurs autorisées, consultez [TransformJobDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html). 

   1.  `TransformInput.DataSource.S3Uri`: Définissez l'endroit où vos données de test pour inférence sont stockées. 

   1.  `TransformInput.ContentType`: Spécifiez le type de contenu de vos données de test (par exemple `application/json``text/plain`,`image/png `,, ou toute autre valeur). SageMaker L'IA ne valide pas les données d'entrée réelles. Cette valeur est transmise au point de terminaison HTTP de votre conteneur dans la valeur `Content-type` d'en-tête. 

   1.  `TransformInput.CompressionType`: défini sur `None` si vos données de test à des fins d'inférence dans Amazon S3 ne sont pas compressées. 

   1.  `TransformInput.SplitType`: défini sur pour `None` transmettre chaque objet d'Amazon S3 dans son ensemble à des fins d'inférence. 

   1.  `TransformOutput.S3OutputPath`: défini sur l'emplacement où la sortie d'inférence est stockée. 

   1.  `TransformOutput.AssembleWith`: défini sur `None` pour générer chaque inférence sous forme d'objets distincts dans Amazon S3. 

1.  Sélectionnez **Create model package (Créer un package de modèle)**. 

 SageMaker L'IA extrait l'image d'inférence d'Amazon ECR, copie tous les artefacts dans le conteneur d'inférence et exécute une tâche de transformation par lots en utilisant vos données de test à des fins d'inférence. Une fois la validation réussie, le statut passe à **Terminé**. 

**Note**  
 L'étape de validation n'évalue pas la précision du modèle à l'aide de vos données de test. L'étape de validation vérifie si le conteneur fonctionne et répond comme prévu. 

 Vous avez terminé de créer les ressources de votre modèle de produit. Passez au [Mettre en vente votre produit dans AWS Marketplace](ml-publishing-your-product-in-aws-marketplace.md). 

## Création de votre algorithme
<a name="ml-creating-your-algorithm-product"></a>

 Les conditions suivantes sont requises pour créer un algorithme pour AWS Marketplace : 
+ Une image d'inférence, stockée dans Amazon ECR 
+ Une image d'entraînement, stockée dans Amazon ECR 
+  Vos données de test pour l'entraînement, stockées dans Amazon S3 
+ Vos données de test à des fins d'inférence, stockées dans Amazon S3 

**Note**  
 La procédure pas à pas suivante permet de créer un produit algorithmique. Pour plus d'informations, voir [Création d'une ressource d'algorithme](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-mkt-create-algo.html). 

### Création des ressources de l'algorithme
<a name="ml-create-algorithm"></a>

Les procédures suivantes vous permettent de créer les ressources de votre package d'algorithmes.

**Étape 1 : Pour créer les ressources de l'algorithme**

1.  Ouvrez la [console Amazon SageMaker AI](https://us-east-2.console.aws.amazon.com/sagemaker/home). 

1.  Vérifiez que vous vous trouvez dans la AWS région à partir de laquelle vous souhaitez publier en regardant en haut à droite de la page (voir[Supporté Régions AWS pour la publication](ml-service-restrictions-and-limits.md#ml-supported-aws-regions-for-publishing)). Les images d'entraînement et d'inférence que vous avez chargées sur Amazon ECR lors des étapes précédentes doivent se trouver dans cette même région. 

1.  Dans le menu de navigation de gauche, sélectionnez **Algorithmes**. 

1.  Choisissez **Create algorithm (Créer un algorithme)**. 

Après avoir créé le package d'algorithmes, vous devez définir les spécifications pour l'entraînement et le réglage de votre modèle.

**Étape 2 : Pour définir les spécifications d'entraînement et de réglage**

1.  Entrez le **nom** de votre algorithme (par exemple,*my-algorithm*). 

1.  Pour **l'image d'entraînement**, collez l'adresse URI complète de votre image d'entraînement qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la [console Amazon ECR.](https://us-east-2.console.aws.amazon.com/ecr/repositories) 

1.  À l'aide de la liste déroulante, choisissez les **types d'instances d'entraînement compatibles** avec votre image d'entraînement. 

1.  Dans la section **Spécification du canal**, ajoutez un canal pour chaque jeu de données d'entrée pris en charge par votre algorithme, jusqu'à 20 canaux de sources d'entrée. Pour plus d'informations, consultez la section [Configuration des données d'entrée](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-running-container.html#your-algorithms-training-algo-running-container-inputdataconfig). 

1.  Choisissez **Suivant**. 

1. Si votre algorithme prend en charge les hyperparamètres et le réglage des hyperparamètres, vous devez spécifier les paramètres de réglage.

1.  Choisissez **Suivant**. 

**Note**  
 Nous recommandons vivement que votre algorithme prenne en charge le réglage des hyperparamètres et rende les paramètres appropriés réglables. Cela permet aux data scientists d'ajuster les modèles pour obtenir les meilleurs résultats. 

Après avoir défini les paramètres de réglage, le cas échéant, vous devez définir les spécifications de votre image d'inférence.

**Étape 3 : Pour définir les spécifications de l'image d'inférence**

1.  Pour **Emplacement de l'image d'inférence**, collez l'URI de l'image d'inférence qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la [console Amazon ECR.](https://us-east-2.console.aws.amazon.com/ecr/repositories) 

1.  À l'aide de la liste déroulante, choisissez les types d'instance pris en charge pour votre image d'inférence à la fois pour les tâches d'inférence en temps réel (également appelées *endpoints) et de transformation* par lots. 

1.  Choisissez **Suivant**. 

 Avant que votre algorithme puisse être créé et publié, une validation est nécessaire pour garantir qu'il fonctionne comme prévu. Cela nécessite que vous exécutiez à la fois une tâche d'entraînement avec des données de test pour l'entraînement et une tâche de transformation par lots avec les données de test à des fins d'inférence que vous fournissez. Les spécifications de validation indiquent à SageMaker AI comment effectuer la validation. 

**Étape 4 : Pour définir les spécifications de validation**

1.  Définissez **Publier cet algorithme AWS Marketplace** sur **Oui**. Si vous définissez ce paramètre sur **Non**, vous ne pourrez pas publier cet algorithme ultérieurement. **Si vous choisissez Oui,** [votre algorithme est certifié](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html#sagemaker-CreateAlgorithm-request-CertifyForMarketplace) AWS Marketplace et nécessite la spécification de validation.

1.  Si c'est la première fois que vous créez un package de machine learning pour AWS Marketplace, choisissez **Create a new role** for the **IAM role**. Amazon SageMaker AI utilise ce rôle lors de l'entraînement de votre algorithme et du déploiement du package modèle suivant. Cela inclut des actions telles que l'extraction d'images depuis Amazon ECR, le stockage d'artefacts dans Amazon S3 et la copie de données de formation depuis Amazon S3. Vérifiez les paramètres, puis choisissez **Create role**. La création d'un rôle ici accorde les autorisations décrites par la politique [ AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)IAM au rôle que vous créez. 

1.  Modifiez le fichier **JSON** dans le profil de validation pour la **définition des tâches de formation**. Pour plus d'informations sur les valeurs autorisées, consultez [ TrainingJobDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TrainingJobDefinition.html). 

   1.  `InputDataConfig`: Dans ce tableau JSON, ajoutez un [objet Channel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Channel.html) pour chaque canal que vous avez spécifié lors de l'étape de spécification de formation. Pour chaque canal, spécifiez où sont stockées vos données de test pour l'entraînement. 

   1.  `OutputDataConfig`: Une fois la formation terminée, les artefacts du modèle figurant dans le chemin du répertoire du conteneur de formation `/opt/ml/model/` sont compressés et copiés sur Amazon S3. Spécifiez l'emplacement Amazon S3 où le fichier compressé (.tar.gz) est stocké. 

1.  Modifiez le fichier JSON dans le profil de validation pour la **définition de la tâche de transformation**. Pour plus d'informations sur les valeurs autorisées, consultez [ TransformJobDefinition](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformJobDefinition.html). 

   1.  `TransformInput.DataSource.S3Uri`: Définissez l'endroit où vos données de test pour inférence sont stockées. 

   1.  `TransformInput.ContentType`: Spécifiez le type de contenu de vos données de test. Par exemple,`application/json`, `text/plain``image/png`, ou toute autre valeur. Amazon SageMaker AI ne valide pas les données d'entrée réelles. Cette valeur est transmise au point de terminaison HTTP de votre conteneur dans la valeur `Content-type` d'en-tête. 

   1.  `TransformInput.CompressionType`: défini sur `None` si vos données de test à des fins d'inférence dans Amazon S3 ne sont pas compressées. 

   1.  `TransformInput.SplitType`: Choisissez la manière dont vous souhaitez que les objets soient divisés dans S3. Par exemple, `None` transmet chaque objet d'Amazon S3 dans son ensemble à des fins d'inférence. Pour plus de détails, consultez [ SplitType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TransformInput.html#sagemaker-Type-TransformInput-SplitType)le manuel Amazon SageMaker AI API Reference. 

   1.  `TransformOutput.S3OutputPath`: défini sur l'emplacement où la sortie d'inférence est stockée. 

   1.  `TransformOutput.AssembleWith`: défini sur `None` pour générer chaque inférence sous forme d'objets distincts dans Amazon S3. 

1. Choisissez **Créer un package d'algorithmes**.

 SageMaker L'IA extrait l'image d'entraînement d'Amazon ECR, exécute une tâche d'entraînement de test en utilisant vos données et stocke les artefacts du modèle dans Amazon S3. Il extrait ensuite l'image d'inférence d'Amazon ECR, copie les artefacts d'Amazon S3 dans le conteneur d'inférence et exécute une tâche de transformation par lots en utilisant vos données de test à des fins d'inférence. Une fois la validation réussie, le statut passe à **Terminé**. 

**Note**  
 L'étape de validation n'évalue pas la précision de l'entraînement ou du modèle à l'aide de vos données de test. L'étape de validation vérifie si les conteneurs fonctionnent et répondent comme prévu.   
L'étape de validation valide uniquement le traitement par lots. C'est à vous de valider que le traitement en temps réel fonctionne avec votre produit.

 Vous avez terminé de créer les ressources de votre produit algorithmique. Passez au [Mettre en vente votre produit dans AWS Marketplace](ml-publishing-your-product-in-aws-marketplace.md). 

# Mettre en vente votre produit dans AWS Marketplace
<a name="ml-publishing-your-product-in-aws-marketplace"></a>

Après avoir intégré votre code dans des images de packages de modèles ou des images d'algorithmes, téléchargé vos images et créé vos ressources Amazon SageMaker AI, vous pouvez publier votre produit d'apprentissage automatique dans AWS Marketplace. Les sections suivantes vous guident tout au long du processus de publication, qui inclut la création de votre liste de produits, le test de votre produit et l'approbation de la publication. Une fois votre produit publié, vous demandez des modifications pour mettre à jour votre offre. Pour de plus amples informations, veuillez consulter [Gestion de vos produits d'apprentissage automatique](ml-product-management.md). 

**Topics**
+ [Conditions préalables](ml-publishing-prereq.md)
+ [Étape 1 : créer une nouvelle annonce](create-new-listing.md)
+ [Étape 2 : Fournir des informations sur le produit](provide-general-info.md)
+ [Étape 3 : Ajouter la version initiale du produit](add-initial-version.md)
+ [Étape 4 : Configuration du modèle de tarification](set-pricing-model.md)
+ [Étape 5 : Configuration de la politique de remboursement](configure-refund-policy.md)
+ [Étape 6 : Configuration du CLUF](configure-eula.md)
+ [Étape 7 : Configuration de la liste d'autorisation](configure-allowlist.md)

# Conditions préalables
<a name="ml-publishing-prereq"></a>

Avant de pouvoir publier votre package de modèles ou votre algorithme dans AWS Marketplace, vous devez disposer des éléments suivants :
+  Et Compte AWS qui est enregistré en tant que AWS Marketplace vendeur. Vous pouvez réaliser cette opération dans la [Portail de gestion AWS Marketplace](https://aws.amazon.com/marketplace/management/). 
+  Un profil de vendeur complet sous la page [Paramètres](https://aws.amazon.com/marketplace/management/seller-settings) du Portail de gestion AWS Marketplace. 
+  Pour publier des produits payants, vous devez remplir le questionnaire fiscal et les formulaires bancaires. Cela n'est pas obligatoire pour publier des produits gratuits. Pour plus d'informations, consultez la section [Procédure d'enregistrement des vendeurs](https://docs.aws.amazon.com/marketplace/latest/userguide/registration-process.html). 
+ Vous devez disposer d'autorisations pour accéder à Amazon SageMaker AI Portail de gestion AWS Marketplace et à Amazon. Pour de plus amples informations, veuillez consulter [Autorisations nécessaires](#ml-permissions-required).

## Autorisations nécessaires
<a name="ml-permissions-required"></a>

Pour publier un produit Amazon SageMaker AI, vous devez spécifier un ARN de rôle IAM valide ayant une relation de confiance avec le principal du AWS Marketplace service. En outre, l'utilisateur ou le rôle IAM sous lequel vous êtes connecté nécessite les autorisations nécessaires.

**Configuration des autorisations de connexion**
+  Ajoutez les autorisations suivantes au rôle IAM : 

  1. **sagemaker : DescribeModelPackage** — Pour répertorier un modèle de package 

  1.  **sagemaker : DescribeAlgorithm** — Pour répertorier un algorithme 

------
#### [ JSON ]

****  

     ```
     { 
         "Version":"2012-10-17",		 	 	 
         "Statement": [ 
             { 
                 "Effect": "Allow", 
                 "Action": [ 
                     "sagemaker:DescribeModelPackage", 
                     "sagemaker:DescribeAlgorithm"
                 ],
                 "Resource": "*"  
            }
         ] 
     }
     ```

------

**Configuration du produit de rôle AddVersion/Create IAM**

1. Suivez les étapes pour créer un rôle avec une politique de confiance personnalisée. Pour plus d'informations, voir [Création d'un rôle IAM à l'aide d'une politique de confiance personnalisée (console).](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-custom.html)

1. Entrez ce qui suit pour la déclaration de politique de confiance personnalisée :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Principal": {
                   "Service": "assets.marketplace.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Entrez la politique d'autorisation suivante :

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [ 
           { 
               "Effect": "Allow", 
               "Action": [ 
                   "sagemaker:DescribeModelPackage", 
                   "sagemaker:DescribeAlgorithm"
               ],
               "Resource": "*"  
          }
       ] 
   }
   ```

------

1. Fournissez l'ARN du rôle lorsque cela est demandé. Le rôle doit suivre le format :`arn:aws:iam::<account-id>:role/<role-name>`.

 Pour connaître les AWS Marketplace autorisations nécessaires ou pour gérer votre compte vendeur, consultez la section [Politiques et autorisations pour AWS Marketplace les vendeurs](https://docs.aws.amazon.com/marketplace/latest/userguide/detailed-management-portal-permissions.html). 

## Actifs nécessaires
<a name="ml-required-assets"></a>

Avant de créer une liste de produits d'apprentissage automatique, assurez-vous de disposer des ressources requises suivantes :
+ **Amazon Resource Name (ARN)** : indiquez l'ARN du package de modèles ou de la ressource d'algorithme à partir de Région AWS laquelle vous publiez (voir[Supporté Régions AWS pour la publication](ml-service-restrictions-and-limits.md#ml-supported-aws-regions-for-publishing)). 
  +  Un ARN pour un package modèle a la forme suivante : `arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>` 

     Pour trouver l'ARN de votre modèle de package, consultez la section [Mes packages de modèles de marché](https://console.aws.amazon.com/sagemaker/home#/model-packages/my-resources). 
  +  L'ARN d'un algorithme a la forme suivante : `arn:aws:sagemaker:<region>:<account-id>:algorithm/<algorithm-name>` 

     Pour trouver l'ARN de votre ressource d'algorithme, consultez la section [Mes algorithmes](https://console.aws.amazon.com/sagemaker/home#/algorithms/my-resources). 
+ [Exigences relatives aux informations d'utilisation](ml-listing-requirements-and-best-practices.md#ml-requirements-for-usage-information)— Fournissez des détails sur les entrées, les sorties et les exemples de code. 
+  [Exigences relatives aux entrées et aux sorties](ml-listing-requirements-and-best-practices.md#ml-requirements-for-inputs-and-outputs)— Fournissez des fichiers ou du texte. 
+ [Exigences relatives au bloc-notes Jupyter](ml-listing-requirements-and-best-practices.md#ml-requirements-for-jupyter-notebook)— Démontrez l'utilisation complète du produit. 

# Étape 1 : créer une nouvelle annonce
<a name="create-new-listing"></a>

 Pour commencer à utiliser un produit d'apprentissage automatique, vous allez lancer le processus de mise en vente en définissant le nom du produit, en ajoutant des balises de ressources facultatives pour l'organisation et en générant l'identifiant du produit. L'identifiant du produit est utilisé pour suivre votre produit tout au long de son cycle de vie. 

**Note**  
 Avant de créer votre annonce, assurez-vous de disposer des ressources requises spécifiées dans[Exigences et meilleures pratiques pour créer des produits d'apprentissage automatique](ml-listing-requirements-and-best-practices.md). 

1. Connectez-vous à votre vendeur Compte AWS et accédez au [Portail de gestion AWS Marketplace](https://aws.amazon.com/marketplace/management). 

1.  Dans le menu supérieur, accédez à **Produits**, puis sélectionnez **Machine learning**. 

1.  Choisissez **Créer un produit d'apprentissage automatique**.

1. Sous **Nom du produit**, entrez un nom de produit unique qui sera affiché aux acheteurs en haut de la page de liste des produits et dans les résultats de recherche.

1.  (Facultatif) Sous **Tags**, entrez les tags que vous souhaitez associer au produit. Pour plus d'informations, consultez la section [AWS Ressources de balisage](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html). 

1.  Sous **Identifiant et code du produit**, choisissez **Générer l'identifiant et le code du produit**. 

1.  Choisissez **Continuer vers l'assistant**. Vous allez commencer le processus d'ajout d'informations détaillées sur le produit dans l'assistant. 

# Étape 2 : Fournir des informations sur le produit
<a name="provide-general-info"></a>

 Lorsque vous mettez en vente votre produit d'apprentissage automatique dans AWS Marketplace, il est crucial de fournir des informations complètes et précises sur le produit. Utilisez l'étape **Fournir des informations sur le produit** de l'assistant pour saisir les détails essentiels de votre offre, tels que les catégories de produits et les informations de support. 

1.  Entrez les informations relatives à votre produit. 

1.  Choisissez **Next** pour passer à l'étape suivante de l'assistant. 

# Étape 3 : Ajouter la version initiale du produit
<a name="add-initial-version"></a>

 Cette page vous explique comment ajouter la version initiale de votre produit. Votre produit peut avoir plusieurs versions tout au long de son cycle de vie, et chaque version est identifiée par un ARN SageMaker AI unique. 

1.  Sous **Amazon Resource Names (ARNs)** : 

   1.  Entrez le modèle ou l'algorithme Amazon SageMaker AI ARN. 
      +  Exemple d'ARN du package modèle : `arn:aws:sagemaker:<region>:<account-id>:model-package/<model-package-name>` 

         Pour trouver l'ARN de votre modèle de package, consultez la section [Mes packages de modèles de marché](https://console.aws.amazon.com/sagemaker/home#/model-packages/my-resources). 
      +  Exemple d'algorithme ARN : `arn:aws:sagemaker:<region>:<account-id>:algorithm/<algorithm-name>` 

         Pour trouver l'ARN de votre ressource d'algorithme, consultez la section [Mes algorithmes](https://console.aws.amazon.com/sagemaker/home#/algorithms/my-resources). 

   1.  Entrez l'ARN du rôle d'accès IAM. 

       Exemple d'ARN IAM : `arn:aws:iam::<account-id>:role/<role-name>` 

1.  Sous **Informations sur la version**, entrez un **nom de version** et des **notes de version.** . 

1.  Sous **Détails des entrées du modèle**, entrez un résumé des entrées du modèle et fournissez des exemples de données d'entrée pour les saisies en temps réel et par lots. Vous pouvez éventuellement définir des limites de saisie. 

1.  (Facultatif) Sous **Paramètres d'entrée**, fournissez des informations détaillées sur chaque paramètre d'entrée pris en charge par votre produit. Vous pouvez fournir le nom du paramètre, une description, des contraintes et spécifier si le paramètre est obligatoire ou facultatif. Vous pouvez fournir jusqu'à 24 paramètres d'entrée. 

1.  (Facultatif) Sous **Attributs personnalisés**, indiquez tous les paramètres d'appel personnalisés pris en charge par votre produit. Pour chaque attribut, vous pouvez fournir un nom, une description, des contraintes et spécifier si l'attribut est obligatoire ou facultatif. 

1.  Sous **Détails des sorties du modèle**, entrez un résumé des sorties du modèle et fournissez des exemples de données de sortie pour les sorties en temps réel et par lots. Vous pouvez éventuellement définir des limites de sortie. 

1.  (Facultatif) Sous **Paramètres de sortie**, fournissez des informations détaillées sur chaque paramètre de sortie pris en charge par votre produit. Vous pouvez fournir le nom du paramètre, une description, des contraintes et spécifier si le paramètre est obligatoire ou facultatif. Vous pouvez fournir jusqu'à 24 paramètres de sortie. 

1.  Sous **Instructions d'utilisation**, fournissez des instructions claires pour utiliser efficacement votre modèle, telles que les meilleures pratiques, la manière de gérer les cas extrêmes courants ou les suggestions d'optimisation des performances. 

1.  Sous **Liens vers le référentiel et le bloc-notes Git**, fournissez des liens vers des exemples de blocs-notes et de référentiels Git. Les exemples de blocs-notes doivent indiquer comment invoquer votre modèle. Votre dépôt Git doit inclure des blocs-notes, des fichiers de données et d'autres outils de développement. 

1.  Sous **Types d'instances recommandés**, sélectionnez les types d'instances recommandés pour votre produit. 

   Pour les *packages de modèles*, vous allez sélectionner les types d'instances recommandés à la fois pour la transformation par lots et pour l'inférence en temps réel.

   Pour les *packages d'algorithmes*, vous allez sélectionner le type d'instance recommandé pour les tâches de formation.
**Note**  
 Les types d'instances que vous pouvez sélectionner sont limités à ceux pris en charge par votre modèle ou votre package d'algorithmes. Ces types d'instances pris en charge ont été déterminés lors de la création initiale de vos ressources dans Amazon SageMaker AI. Cela garantit que votre produit n'est associé qu'à des configurations matérielles capables d'exécuter efficacement votre solution d'apprentissage automatique. 

1. Choisissez **Next** pour passer à l'étape suivante de l'assistant.

# Étape 4 : Configuration du modèle de tarification
<a name="set-pricing-model"></a>

 Lorsque vous configurez le modèle de tarification de votre produit, vous pouvez le proposer gratuitement ou mettre en place une tarification basée sur l'utilisation. Votre modèle de tarification ne peut pas être modifié une fois que vous avez publié le produit. 

1.  Choisissez un modèle de tarification. Les produits de transformation par lots et de formation aux algorithmes ne peuvent être gratuits ou facturés que pour une utilisation horaire. 
   +  Si vous avez choisi de proposer votre produit gratuitement, cliquez sur **Suivant** et poursuivez l'assistant. 
   +  Si vous avez choisi la tarification d'utilisation, procédez comme suit. 

1.  Si vous avez choisi de facturer en fonction de l'utilisation, vous pouvez saisir les coûts d'utilisation. Vous pouvez choisir de saisir un prix qui s'applique à tous les types d'instance ou de saisir un prix par type d'instance pour une tarification plus précise. 

1.  Sélectionnez **Oui, proposer un essai gratuit** si vous souhaitez proposer un essai gratuit de votre produit. 

1. Choisissez **Next** pour passer à l'étape suivante de l'assistant.

# Étape 5 : Configuration de la politique de remboursement
<a name="configure-refund-policy"></a>

 Bien que vous ne soyez pas obligé de proposer des remboursements, vous devez déposer une politique de remboursement officielle auprès de AWS Marketplace. 

1. Entrez une politique de remboursement.

1.  Choisissez **Next** pour passer à l'étape suivante de l'assistant. 

# Étape 6 : Configuration du CLUF
<a name="configure-eula"></a>

 Au cours de cette étape, vous allez choisir l'accord juridique qui régira la manière dont les clients peuvent utiliser votre produit. Vous pouvez sélectionner AWS les conditions contractuelles standard ou télécharger votre propre contrat de licence utilisateur final (EULA) personnalisé. 

1.  Sélectionnez le contrat standard ou fournissez un contrat de licence utilisateur final personnalisé. 

1.  Choisissez **Next** pour passer à l'étape suivante de l'assistant. 

# Étape 7 : Configuration de la liste d'autorisation
<a name="configure-allowlist"></a>

 Avant de soumettre votre produit, vous devez indiquer qui Comptes AWS peut y accéder. Cette étape facultative contrôle la visibilité initiale de votre produit, en limitant l'accès à votre propre compte et à toute autorisation spécifique Comptes AWS que vous ajoutez à la liste d'autorisation. 

1.  Entrez le nom Compte AWS IDs auquel vous souhaitez accéder à votre produit.

1.  Choisissez **Soumettre** pour soumettre votre produit. 

    Votre produit aura le statut de **visibilité limitée** et ne sera visible que par Compte AWS celui qui a créé le produit et les autres produits autorisés Comptes AWS. 

    Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

 Vous pouvez consulter et tester votre liste de produits lorsqu'elle est en **visibilité limitée**. Lorsque vous serez prêt à modifier la visibilité de votre produit, consultez[Mettre à jour la visibilité des produits](ml-update-visibility.md). 

# Gestion de vos produits d'apprentissage automatique
<a name="ml-product-management"></a>

Dans le portail AWS Marketplace de gestion, choisissez **Demander des modifications** pour modifier un produit ou une version AWS Marketplace. Lorsque vous soumettez vos modifications, le système les traite. Le délai de traitement varie de quelques minutes à plusieurs jours, selon le type de modification. Vous pouvez suivre l'état de vos modifications dans le portail AWS Marketplace de gestion. 

**Topics**
+ [Mettre à jour les informations du produit](ml-update-product.md)
+ [Mettre à jour la visibilité des produits](ml-update-visibility.md)
+ [Mettre à jour la liste des autorisations](ml-update-allowlist.md)
+ [Gestion des versions des produits](ml-manage-product-version.md)
+ [Mise à jour des prix des produits](ml-update-public-offer.md)
+ [Mettre à jour votre politique de remboursement](ml-update-refund-policy.md)
+ [Mettre à jour votre EULA](ml-update-eula.md)
+ [Supprimer un produit](ml-remove-a-product.md)

**Note**  
 En plus d'apporter des modifications via le portail AWS Marketplace de gestion, vous pouvez également effectuer des modifications à l'aide du [AWS Marketplace Catalog API](https://docs.aws.amazon.com/marketplace/latest/APIReference/welcome.html). 

# Mettre à jour les informations du produit
<a name="ml-update-product"></a>

 Après avoir créé votre produit d'apprentissage automatique (ML), vous pouvez modifier certaines informations sur le produit AWS Marketplace, telles que les descriptions, les surlignages, le titre, le SKU, les catégories et les mots clés. 

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **des produits d'apprentissage automatique** et sélectionnez votre produit cible. 

1.  Choisissez **Demander des modifications**, puis sélectionnez **Mettre à jour les informations sur le produit**. 

1.  Mettez à jour les champs selon vos besoins. 
**Note**  
 Pour les spécifications du logo, voir[Spécifications des logos des produits et de l'entreprise](product-submission.md#seller-and-product-logos). 

1.  Sélectionnez **Envoyer**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Mettre à jour la visibilité des produits
<a name="ml-update-visibility"></a>

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  **Choisissez **Demander des modifications**, sélectionnez **Mettre à jour la visibilité du produit**, puis sélectionnez **Public** ou Restreint.** 

1.  Passez en revue vos modifications et choisissez **Soumettre**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Mettre à jour la liste des autorisations
<a name="ml-update-allowlist"></a>

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, puis sélectionnez **Mettre à jour la liste des autorisations**. 

1.  Modifiez les informations que vous souhaitez modifier et choisissez **Soumettre**. Pour de plus amples informations, veuillez consulter [Étape 7 : Configuration de la liste d'autorisation](configure-allowlist.md). 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Gestion des versions des produits
<a name="ml-manage-product-version"></a>

 En tant que vendeur, vous pouvez gérer les versions de vos produits en AWS Marketplace mettant à jour les informations relatives aux versions existantes, en ajoutant de nouvelles versions ou en supprimant les versions qui ne sont plus prises en charge. Chaque version possède un ARN SageMaker AI unique et des informations associées que les acheteurs utilisent pour évaluer et déployer votre produit. 

**Note**  
 Avant d'ajouter des versions, créez un identifiant de produit et établissez les prix. Pour de plus amples informations, veuillez consulter [Étape 1 : créer une nouvelle annonce](create-new-listing.md). 

## Mise à jour des informations de version
<a name="ml-updating-versions"></a>

 Après avoir créé une version, vous pouvez modifier les informations associées, telles que les notes de version, les instructions d'utilisation et les recommandations d'instance. 

**Note**  
 Les noms de version ARNs ne peuvent pas être modifiés. Ces modifications nécessitent la création d'une nouvelle version. 

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, puis sélectionnez **Mettre à jour les informations de version**. 

1.  Sélectionnez la version que vous souhaitez mettre à jour. 

1.  Choisissez **Modifier la version**. 

1.  Modifiez les champs nécessaires et choisissez **Next**. 

1.  Entrez vos informations de tarification et choisissez **Soumettre**. Pour de plus amples informations, veuillez consulter [Étape 4 : Configuration du modèle de tarification](set-pricing-model.md). 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

## Ajouter de nouvelles versions
<a name="ml-adding-new-versions"></a>

 Vous pouvez ajouter de nouvelles versions de votre produit pour introduire des fonctionnalités, des mises à jour ou des améliorations tout en conservant l'accès aux versions précédentes. 

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Versions**, puis choisissez **Ajouter une nouvelle version**. 

1.  Entrez les informations relatives à la nouvelle version en suivant les étapes décrites dans[Étape 3 : Ajouter la version initiale du produit](add-initial-version.md). 

1.  Entrez vos informations de tarification et choisissez **Soumettre**. Pour de plus amples informations, veuillez consulter [Étape 4 : Configuration du modèle de tarification](set-pricing-model.md). 

Lorsque vous avez ajouté une nouvelle version avec succès, les acheteurs reçoivent une notification par e-mail indiquant qu'une nouvelle version est disponible.

## Versions restrictives
<a name="ml-restricting-versions"></a>

 Lorsqu'une version devient obsolète ou que vous souhaitez mettre fin à sa disponibilité, vous pouvez restreindre l'accès des acheteurs à cette version tout en conservant l'accès aux autres versions. 

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Versions**, puis sélectionnez **Restreindre les versions**. 
**Note**  
 Vous devez toujours avoir au moins une version disponible. 

1.  Sélectionnez **Envoyer**. 

 Lorsque vous avez restreint une version avec succès, les acheteurs reçoivent une notification par e-mail indiquant que la version a été restreinte. 

# Mise à jour des prix des produits
<a name="ml-update-public-offer"></a>

 Vous pouvez modifier les tarifs et la période d'essai gratuite de votre produit d'apprentissage automatique dans AWS Marketplace, mais le modèle de tarification lui-même ne peut pas être modifié. Notez que pour les modèles payants, les augmentations de prix prennent effet après un délai de préavis de 90 jours, le premier jour du mois suivant. Aucune modification de prix supplémentaire ne peut être apportée pendant cette période de préavis. 

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, sélectionnez **Mettre à jour l'offre publique**, puis sélectionnez **Modifier les informations de l'offre**. 

1.  Modifiez les informations que vous souhaitez modifier et choisissez **Soumettre**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Mettre à jour votre politique de remboursement
<a name="ml-update-refund-policy"></a>

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, sélectionnez **Mettre à jour l'offre publique**, puis sélectionnez **Mettre à jour la politique de remboursement**. 

1.  Modifiez les informations que vous souhaitez modifier et choisissez **Soumettre**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Mettre à jour votre EULA
<a name="ml-update-eula"></a>

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, sélectionnez **Mettre à jour l'offre publique**, puis sélectionnez **Mettre à jour le CLUF**. 

1.  Modifiez les informations que vous souhaitez modifier et choisissez **Soumettre**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

# Supprimer un produit
<a name="ml-remove-a-product"></a>

 Vous pouvez supprimer (coucher du soleil) le produit que vous avez publié AWS Marketplace. Une fois supprimé, les nouveaux clients ne peuvent pas s'abonner, mais vous devez soutenir les clients existants pendant au moins 90 jours. 

 Les conditions de retrait d'un produit sont les AWS Marketplace suivantes : 
+  Le produit sera supprimé des outils de AWS Marketplace recherche et de découverte. 
+  La fonctionnalité d'abonnement sera désactivée. 
+  La page détaillée du produit reste accessible via une URL directe. 
+  Les abonnés actuels conservent l'accès jusqu'à ce qu'ils annulent leur abonnement. 
+  AWS Marketplace informe les acheteurs actuels de la suppression. 

**Pour supprimer votre produit d'apprentissage automatique :**

1.  Connectez-vous à votre compte vendeur sur le [portail AWS Marketplace de gestion](https://aws.amazon.com/marketplace/management/tour/). 

1.  Accédez à la page **du produit d'apprentissage automatique** et sélectionnez votre produit. 

1.  Choisissez **Demander des modifications**, sélectionnez **Mettre à jour la visibilité du produit**, puis sélectionnez **Restreint**. 

1.  (Facultatif) Entrez un identifiant de produit de remplacement. 

1.  Passez en revue les modifications, puis choisissez **Soumettre**. 

 Vous pouvez suivre votre demande depuis l'onglet **Demandes** de la page des produits **d'apprentissage automatique**. Pour plus d'informations sur les statuts, consultez[État du produit d'apprentissage automatique](ml-product-lifecycle.md#ml-product-status). 

 Une fois supprimé, le produit apparaît dans la liste des **produits actuels** où vous ne pouvez télécharger que les feuilles de calcul des produits. Si vous avez des questions concernant le retrait de produits, contactez l'équipe [des opérations des AWS Marketplace vendeurs](https://aws.amazon.com/marketplace/management/contact-us/). 

# Création d'offres privées pour des produits d'apprentissage automatique
<a name="machine-learning-private-offers"></a>

 Vous pouvez négocier et proposer une offre privée directement aux clients pour vos produits d'apprentissage automatique. Pour plus d'informations sur les offres privées, consultez[Préparation d'une offre privée pour votre AWS Marketplace produit](private-offers-overview.md). 

**Prérequis :**
+  Vous devez avoir une annonce payante dans AWS Marketplace. 
+  Vous devez avoir accès au portail de AWS Marketplace gestion (AMMP). 

**Pour créer une offre privée pour un produit d'apprentissage automatique :**

1.  Connectez-vous au portail de AWS Marketplace gestion. 

1. Choisissez **Offres**, puis choisissez **Créer une offre privée**

1.  Sur la page **Créer une offre privée**, sélectionnez le produit pour lequel vous souhaitez créer une offre privée. Vous ne pouvez créer des offres que pour les produits disponibles. 

1.  Sur la page **des détails de l'offre** : 

   1.  Entrez le nom et la description de l'offre. 

   1.  Sélectionnez l'option de renouvellement. 

   1.  Définissez la date d'expiration de l'offre. Les offres expirent à 23:59:59 UTC à la date fixée. 

1. Choisissez **Next** (Suivant) deux fois.

1.  Sur la page **Configurer le prix et la durée de l'offre**, spécifiez : 
   +  Option de tarification

     (Pour plus d'informations, voir [Offres privées pour les produits ML](https://docs.aws.amazon.com/marketplace/latest/userguide/private-offers-supported-product-types.html#ml-private-offers))
   + Durée d'utilisation ou du contrat
   + Devise de l’offre
   + Dimensions de tarification.

     (Pour les tarifs d'utilisation, les tarifs basés sur l'utilisation ne s'appliquent que pendant la durée de l'offre. Pour les contrats, les tarifs basés sur l'utilisation ne s'appliquent qu'à l'expiration du contrat et sont perpétuels.)
**Note**  
Pour plus d'informations sur les plans de versements échelonnés, consultez[Plans de versement d'offres privées](installment-plans.md). 

1. Choisissez **Suivant**.

1. Sur la page **Ajouter des acheteurs**, saisissez le nom Compte AWS IDs de vos acheteurs. Ensuite, sélectionnez **Suivant**. 
**Important**  
Pour que les comptes associés puissent bénéficier d'une offre privée :  
Incluez l'identifiant du AWS compte du payeur.
Le compte payeur doit d'abord accepter les conditions horaires de l'offre privée.
Une fois que le compte payeur a accepté, les comptes associés peuvent accepter l'offre privée.

1. Sur la page **Configurer les conditions légales et les documents d'offre**, ajoutez des conditions personnalisées, puis choisissez **Suivant**.
**Note**  
 Vous pouvez ajouter jusqu'à cinq fichiers (termes juridiques, cahier des charges, nomenclature, feuille de prix ou addenda). Le système les combine dans un seul document. 

1. Sur la page **Réviser et créer**, vérifiez les détails de l'offre et choisissez **Créer une offre**.

1. Une fois que l'offre apparaît sur la page **Gérer les offres privées**, ouvrez le menu **Actions**, choisissez **Copier l'URL de l'offre** et envoyez-la par e-mail à l'acheteur.
**Note**  
 La publication des offres peut prendre du temps. Vous pouvez modifier les offres sur la page **Gérer les offres privées** jusqu'à ce qu'un acheteur les accepte. 

# Exigences et meilleures pratiques pour créer des produits d'apprentissage automatique
<a name="ml-listing-requirements-and-best-practices"></a>

Il est important que vos acheteurs puissent facilement tester votre package modèle et vos produits algorithmiques. Les sections suivantes décrivent les meilleures pratiques pour les produits ML. Pour un résumé complet des exigences et des recommandations, consultez le[Résumé des exigences et des recommandations relatives aux listes de produits ML](#ml-summary-table-of-requirements-and-recommendations).

**Note**  
Un AWS Marketplace représentant peut vous contacter pour vous aider à satisfaire à ces exigences si vos produits publiés ne les respectent pas.

**Topics**
+ [Bonnes pratiques générales pour les produits ML](#ml-general-best-practices)
+ [Exigences relatives aux informations d'utilisation](#ml-requirements-for-usage-information)
+ [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs)
+ [Exigences relatives au bloc-notes Jupyter](#ml-requirements-for-jupyter-notebook)
+ [Résumé des exigences et des recommandations relatives aux listes de produits ML](#ml-summary-table-of-requirements-and-recommendations)

## Bonnes pratiques générales pour les produits ML
<a name="ml-general-best-practices"></a>

 Fournissez les informations suivantes pour votre produit d'apprentissage automatique : 
+  Pour les descriptions des produits, incluez les éléments suivants : 
  +  Ce que fait votre modèle 
  +  Qui est le client cible 
  +  Quel est le cas d'utilisation le plus important 
  +  Comment votre modèle a été entraîné ou quantité de données utilisée 
  +  Quels sont les indicateurs de performance et les données de validation utilisées 
  +  S'il s'agit d'un usage médical, que votre modèle soit destiné ou non à un usage diagnostique 
+ Par défaut, les produits de machine learning sont configurés pour avoir une visibilité publique. Cependant, vous pouvez créer un produit dont la visibilité est limitée. Pour de plus amples informations, veuillez consulter [Étape 7 : Configuration de la liste d'autorisation](configure-allowlist.md).
+  (Facultatif) Pour les produits payants, offrez un essai gratuit de 14 à 30 jours aux clients pour qu'ils puissent essayer votre produit. Pour de plus amples informations, veuillez consulter [Tarification des produits d'apprentissage automatique pour AWS Marketplace](machine-learning-pricing.md). 

## Exigences relatives aux informations d'utilisation
<a name="ml-requirements-for-usage-information"></a>

Des informations d'utilisation claires décrivant les entrées et les sorties attendues de votre produit (avec des exemples) sont essentielles pour offrir une expérience client positive. 

À chaque nouvelle version de votre ressource que vous ajoutez à votre liste de produits, vous devez fournir des informations d'utilisation. 

Pour modifier les informations d'utilisation existantes pour une version spécifique, voir[Mise à jour des informations de version](ml-manage-product-version.md#ml-updating-versions).

## Exigences relatives aux entrées et aux sorties
<a name="ml-requirements-for-inputs-and-outputs"></a>

Une explication claire des paramètres d'entrée pris en charge et des paramètres de sortie renvoyés, accompagnée d'exemples, est importante pour aider vos acheteurs à comprendre et à utiliser votre produit. Cette compréhension aide vos acheteurs à effectuer les transformations nécessaires sur les données d'entrée afin d'obtenir les meilleurs résultats d'inférence. 

Vous serez invité à saisir les informations suivantes lorsque vous ajouterez votre ressource Amazon SageMaker AI à votre liste de produits.

### Entrées et sorties d'inférence
<a name="ml-inference-inputs-and-outputs"></a>

Pour la saisie d'inférence, fournissez une description des données d'entrée attendues par votre produit à la fois pour le point final en temps réel et pour le travail de transformation par lots. Incluez des extraits de code pour tout prétraitement nécessaire des données. Incluez les limites, le cas échéant. Fournissez des échantillons d'entrée hébergés sur [GitHub](https://github.com).

Pour les résultats d'inférence, fournissez une description des données de sortie renvoyées par votre produit pour le point final en temps réel et pour le travail de transformation par lots. Incluez les limites, le cas échéant. Fournissez des échantillons de sortie hébergés sur [GitHub](https://github.com). 

Pour les échantillons, fournissez des fichiers d'entrée compatibles avec votre produit. Si votre modèle effectue une classification multiclasse, fournissez au moins un exemple de fichier d'entrée pour chaque classe. 

### Apports de formation
<a name="ml-training-inputs"></a>

Dans la section **Informations pour entraîner un modèle**, indiquez le format des données d'entrée et les extraits de code nécessaires au prétraitement des données. Incluez une description des valeurs et des limites, le cas échéant. Fournissez des échantillons d'entrée hébergés sur [GitHub](https://github.com). 

Expliquez les fonctionnalités facultatives et obligatoires qui peuvent être fournies par l'acheteur et précisez si le mode de `PIPE` saisie est pris en charge. Si la [formation distribuée](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo-running-container.html#your-algorithms-training-algo-running-container-dist-training) (formation avec plus d'une CPU/GPU instance) est prise en charge, spécifiez-la. Pour le réglage, listez les hyperparamètres recommandés. 

## Exigences relatives au bloc-notes Jupyter
<a name="ml-requirements-for-jupyter-notebook"></a>

Lorsque vous ajoutez votre ressource d' SageMaker intelligence artificielle à votre liste de produits, fournissez un lien vers un exemple de bloc-notes Jupyter hébergé sur celui-ci [GitHub](https://github.com)qui illustre le flux de travail complet sans demander à l'acheteur de télécharger ou de rechercher des données. 

Utilisez AWS SDK pour Python (Boto). Un carnet d'échantillons bien conçu permet aux acheteurs d'essayer et d'utiliser plus facilement votre annonce. 

Pour les modèles de packages, votre bloc-notes d'exemple montre la préparation des données d'entrée, la création d'un point de terminaison pour une inférence en temps réel et les performances des tâches de transformation par lots. Pour plus d'informations, voir la [liste des modèles de packages et les exemples de bloc-notes](https://github.com/aws/amazon-sagemaker-examples/tree/main/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/ModelPackage) sur GitHub. Pour un exemple de bloc-notes, voir [auto\$1insurance](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_model_packages/auto_insurance). Le bloc-notes fonctionne dans l'ensemble Régions AWS, sans saisie de paramètres et sans qu'un acheteur ait besoin de localiser des échantillons de données.

**Note**  
Un exemple de bloc-notes Jupyter sous-développé ne présentant pas les multiples entrées possibles et les étapes de prétraitement des données peut empêcher l'acheteur de bien comprendre la proposition de valeur de votre produit. 

Pour les produits d'algorithmes, le bloc-notes d'exemple décrit la formation complète, le réglage, la création de modèles, la création d'un point de terminaison pour une inférence en temps réel et les performances des tâches de transformation par lots. Pour plus d'informations, consultez la [liste des algorithmes et le bloc-notes d'échantillons](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/curating_aws_marketplace_listing_and_sample_notebook/Algorithm) sur GitHub. [Pour des exemples de blocs-notes, consultez [amazon\$1demo\$1product](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_algorithms/amazon_demo_product) et automl on.](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/aws_marketplace/using_algorithms/automl) GitHub Ces exemples de carnets fonctionnent dans toutes les régions sans avoir à saisir de paramètres et sans qu'un acheteur n'ait besoin de localiser des échantillons de données. 

**Note**  
L'absence d'exemples de données de formation peut empêcher votre acheteur de gérer correctement le bloc-notes Jupyter. Un carnet d'échantillons sous-développé peut empêcher vos acheteurs d'utiliser votre produit et entraver son adoption. 

## Résumé des exigences et des recommandations relatives aux listes de produits ML
<a name="ml-summary-table-of-requirements-and-recommendations"></a>

Le tableau suivant fournit un résumé des exigences et des recommandations relatives à une page de liste de produits d'apprentissage automatique.


|  **Détails**  |  **Pour les listes de modèles de packages**  |  **Pour les listes d'algorithmes**  | 
| --- |--- |--- |
| **Product descriptions** | 
| --- |
| Expliquez en détail ce que le produit fait pour les types de contenu pris en charge (par exemple, « détecte X dans les images »).  |  Obligatoire  |  Obligatoire  | 
| Fournissez des informations convaincantes et différenciantes sur le produit (évitez les adjectifs tels que « meilleure » ou les allégations non fondées).  |  Recommandée  |  Recommandée  | 
| Répertoriez les principaux cas d'utilisation de ce produit.  |  Obligatoire  |  Obligatoire  | 
| Décrivez les données (source et taille) sur lesquelles il a été formé et dressez la liste des limites connues.  |  Obligatoire  |  Non applicable | 
| Décrivez le cadre de base sur lequel le modèle a été construit.  |  Recommandée  |  Recommandée  | 
| Résumez la métrique de performance du modèle sur les données de validation (par exemple, « Le pourcentage de précision de XX.YY a été comparé à l'aide du jeu de données Z »).  |  Obligatoire  |  Non applicable | 
| Résumez les mesures de latence et de and/or débit du modèle selon le type d'instance recommandé.  |  Obligatoire  |  Non applicable | 
| Décrivez la catégorie d'algorithme. Par exemple, « cet algorithme de régression de forêt décisionnelle est basé sur un ensemble de classificateurs arborescents conçus à l'aide de la technique générale d'agrégation bootstrap et d'un choix aléatoire de fonctionnalités ».  |  Non applicable |  Obligatoire  | 
| **Usage information** | 
| --- |
| À des fins d'inférence, fournissez une description du format d'entrée attendu pour le point final en temps réel et pour la tâche de transformation par lots. Incluez les limites, le cas échéant. Consultez [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Obligatoire  |  Obligatoire  | 
| À des fins d'inférence, fournissez des échantillons d'entrée pour le point final en temps réel et pour la tâche de transformation par lots. Les échantillons doivent être hébergés sur GitHub. Consultez [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Obligatoire  |  Obligatoire  | 
| À des fins d'inférence, fournissez le nom et la description de chaque paramètre d'entrée. Fournissez des détails sur ses limites et précisez s'il est obligatoire ou facultatif. | Recommandée | Recommandée | 
| À des fins d'inférence, fournissez des détails sur les données de sortie renvoyées par votre produit pour le point final en temps réel et pour la tâche de transformation par lots. Incluez toutes les limites, le cas échéant. Consultez [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Obligatoire  |  Obligatoire  | 
| À des fins d'inférence, fournissez des échantillons de sortie pour le point final en temps réel et pour la tâche de transformation par lots. Les échantillons doivent être hébergés sur GitHub. Consultez [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Obligatoire  |  Obligatoire  | 
| À des fins d'inférence, fournissez un exemple d'utilisation d'un point de terminaison ou d'une tâche de transformation par lots. Incluez un exemple de code à l'aide des commandes AWS Command Line Interface (AWS CLI) ou d'un AWS SDK.  |  Obligatoire  |  Obligatoire  | 
| À des fins d'inférence, fournissez le nom et la description de chaque paramètre de sortie. Spécifiez s'il est toujours renvoyé.  | Recommandée | Recommandée | 
| Pour la formation, fournissez des détails sur les informations nécessaires pour entraîner le modèle, telles que le nombre minimal de lignes de données requises. Voir[Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Non applicable |  Obligatoire  | 
| Pour la formation, fournissez des échantillons d'entrée hébergés sur GitHub. Consultez [Exigences relatives aux entrées et aux sorties](#ml-requirements-for-inputs-and-outputs).  |  Non applicable |  Obligatoire  | 
| Pour ce qui est de la formation, donnez un exemple d'exécution de tâches de formation. Décrivez les hyperparamètres pris en charge, leurs plages et leur impact global. Spécifiez si l'algorithme prend en charge le réglage des hyperparamètres, l'entraînement distribué ou les instances de GPU. Incluez des exemples de code tels que AWS CLI des commandes ou l'utilisation d'un AWS SDK, par exemple.  |  Non applicable |  Obligatoire  | 
| Fournissez un bloc-notes Jupyter hébergé pour GitHub démontrer l'utilisation complète de votre produit. Consultez [Exigences relatives au bloc-notes Jupyter](#ml-requirements-for-jupyter-notebook).  |  Obligatoire  |  Obligatoire  | 
| Fournissez des informations techniques relatives à l'utilisation du produit, notamment des manuels d'utilisation et des exemples de données.  |  Recommandée  |  Recommandée  | 

# Résolution des problèmes liés aux produits d'apprentissage automatique
<a name="ml-troubleshooting"></a>

 Cette section fournit de l'aide concernant certaines erreurs courantes que vous pouvez rencontrer au cours du processus de publication de votre produit de machine learning. Si votre problème n'est pas répertorié, contactez l'équipe chargée [des opérations avec les AWS Marketplace vendeurs](https://aws.amazon.com/marketplace/management/contact-us/). 

## Général : J'obtiens une erreur 400 lorsque j'ajoute le nom de ressource Amazon (ARN) de mon modèle, de mon package ou de mon algorithme dans le Portail de gestion AWS Marketplace
<a name="troubleshooting_error_code_400"></a>

### Cause courante
<a name="troubleshooting_common_cause"></a>

 Lorsque vous avez créé votre produit d'apprentissage automatique en SageMaker intelligence artificielle, vous n'avez pas choisi de le publier dans AWS Marketplace. 

### Résolution
<a name="troubleshooting_resolution"></a>

 Si vous avez utilisé la console Amazon SageMaker AI pour créer votre ressource, vous devez choisir **Oui** sur la dernière page du processus pour **Publier ce modèle de package AWS Marketplace** ou **Oui** pour **Publier cet algorithme dans AWS Marketplace**. Vous ne pouvez pas choisir **Non** et le publier ultérieurement. Si vous sélectionnez **Oui,** le package ou l'algorithme du modèle ne sont pas publiés. Cependant, il valide votre package de modèle ou votre ressource d'algorithme lors de sa création, ce qui est nécessaire pour une utilisation dans AWS Marketplace.

 Si vous utilisez le AWS SDK pour [créer un package de modèles](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html#sagemaker-CreateModelPackage-request-CertifyForMarketplace) ou [un algorithme](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAlgorithm.html#sagemaker-CreateAlgorithm-request-CertifyForMarketplace), assurez-vous que le paramètre `CertifyForMarketplace` est défini sur. `true` 

Après avoir recréé votre package de modèles certifié et validé ou votre ressource d'algorithme, ajoutez le nouvel ARN dans le Portail de gestion AWS Marketplace. 

## Général : J'obtiens une erreur 404 lorsque j'ajoute l'ARN de mon modèle, de mon package ou de mon algorithme dans le Portail de gestion AWS Marketplace
<a name="troubleshooting_error_code_404"></a>

### Cause courante
<a name="troubleshooting_common_cause"></a>

 Cette erreur peut se produire pour plusieurs raisons : 
+  L'ARN n'est peut-être pas valide. 
+  Le package modèle ou la ressource d'algorithme n'a pas été créé en même temps Compte AWS que le compte vendeur. 
+  L'utilisateur ou le rôle que vous utilisez pour la publication ne dispose pas des autorisations IAM appropriées pour accéder au package de modèles ou à la ressource d'algorithme. 

### Résolution
<a name="troubleshooting_resolution"></a>

1.  Vérifiez l'ARN pour vous assurer qu'il s'agit du bon ARN et qu'il est au format attendu : 

    Pour les packages modèles, ARNs ils devraient ressembler à`arn:aws:sagemaker:us-east-2:000123456789:model-package/my-model-package-name`. 

    Pour les algorithmes, ARNs ils devraient ressembler à`arn:aws:sagemaker:us-east-2:000123456789:algorithm/my-algorithm`. 

1.  Assurez-vous que toutes les ressources et tous les actifs destinés à la publication se trouvent dans le compte vendeur à partir duquel vous publiez. 

1.  Assurez-vous que votre utilisateur ou votre rôle dispose des autorisations suivantes : 

    Pour les modèles de packages, l'action `sagemaker:DescribeModelPackage` sur la ressource de package de modèles doit être autorisée. 

    Pour les algorithmes, l'action `sagemaker:DescribeAlgorithm` sur la ressource de l'algorithme doit être autorisée. 

## Amazon SageMaker AI : je reçois un message d'erreur « Erreur client : accès refusé pour le registre » lorsque je crée un package de modèles ou une ressource d'algorithme
<a name="troubleshooting_error_sm_access_denied"></a>

### Cause courante
<a name="troubleshooting_common_cause"></a>

Cette erreur peut se produire lorsque l'image utilisée pour créer le package du modèle ou l'algorithme est stockée dans un référentiel [Amazon ECR](https://aws.amazon.com/ecr/) appartenant à un autre Compte AWS. La validation du package de modèles ou de l'algorithme ne prend pas en charge les images entre comptes.

### Résolution
<a name="troubleshooting_resolution"></a>

Copiez l'image dans un référentiel Amazon ECR appartenant à celui Compte AWS que vous utilisez pour publier. Procédez ensuite à la création de la ressource en utilisant le nouvel emplacement de l'image.

## Amazon SageMaker AI : « Non démarré » et « Erreur client : aucune analyse planifiée... » s'affichent messages d'échec lorsque je crée un package de modèle ou une ressource d'algorithme
<a name="troubleshooting_error_sm_failure"></a>

### Cause courante
<a name="troubleshooting_common_cause"></a>

Cette erreur peut se produire lorsque l' SageMaker IA ne parvient pas à scanner l'image de votre conteneur Docker stockée dans Amazon ECR.

### Résolution
<a name="troubleshooting_resolution"></a>

Dans ce cas, ouvrez la [console Amazon ECR](https://console.aws.amazon.com/ecr/repositories?region=us-east-2), recherchez le référentiel dans lequel votre image a été téléchargée, choisissez l'image, puis sélectionnez **Numériser**.