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.
Création d'une SageMaker image personnalisée
Important
Depuis le 30 novembre 2023, l'expérience Amazon SageMaker Studio précédente s'appelle désormais Amazon SageMaker Studio Classic. La section suivante est spécifique à l'utilisation de l'application Studio Classic. Pour plus d'informations sur l'utilisation de l'expérience Studio mise à jour, consultezAmazon SageMaker Studio.
Cette rubrique décrit comment créer une SageMaker image personnalisée à l'aide de la SageMaker console ouAWS CLI.
Lorsque vous créez une image à partir de la console, une version initiale de l'image est SageMaker également créée. La version d'image représente une image de conteneur dans Amazon Elastic Container Registry (ECR)
Après avoir créé votre SageMaker image personnalisée, vous devez l'associer à votre domaine ou à votre espace partagé pour pouvoir l'utiliser avec Studio Classic. Pour plus d’informations, consultez Joindre une SageMaker image personnalisée.
Création d'une SageMaker image depuis la console
La section suivante explique comment créer une SageMaker image personnalisée à partir de la SageMaker console.
Pour créer une image
-
Ouvrez la SageMaker console Amazon à l'adresse https://console.aws.amazon.com/sagemaker/
. -
Dans le panneau de navigation de gauche, choisissez Configurations d'administrateur.
-
Sous Configurations d'administrateur, choisissez Images.
-
Sur la page Images personnalisées, choisissez Create image (Créer une image).
-
Pour Image source (Source de l'image), saisissez le chemin d'accès du registre à l'image du conteneur dans Amazon ECR. Le chemin d'accès est au format suivant :
acct-id
.dkr.ecr.region
.amazonaws.com/repo-name[:tag] or [@digest]
-
Sélectionnez Suivant.
-
Sous Propriétés de l'image, saisissez ce qui suit :
-
Nom de l'image – Le nom doit être unique pour votre compte dans la région Région AWS.
-
(Facultatif) Nom d'affichage : nom affiché dans l'interface utilisateur de Studio Classic. Lorsqu'il n'est pas fourni,
Image name
est affiché. -
(Facultatif) Description – Description de l'image.
-
Rôle IAM : le rôle doit être associé à la AmazonSageMakerFullAccess
politique. Utilisez le menu déroulant pour choisir l'une des options suivantes : -
Create a new role (Créer un rôle) – Spécifiez tous les compartiments Amazon Simple Storage Service (Amazon S3) auxquels vous souhaitez que les utilisateurs de vos blocs-notes aient accès. Si vous ne souhaitez pas autoriser l'accès à d'autres compartiments, choisissez None (Aucun).
SageMaker associe la
AmazonSageMakerFullAccess
politique au rôle. Le rôle permet aux utilisateurs de vos blocs-notes d'accéder aux compartiments S3 répertoriés en regard des coches. -
Saisir un ARN de rôle IAM personnalisé – Saisissez l'Amazon Resource Name (ARN) de votre rôle IAM.
-
Utiliser le rôle existant – Choisissez l'un de vos rôles existants dans la liste.
-
-
(Facultatif) Balises d'image – Choisissez Ajouter une nouvelle balise. Vous pouvez ajouter jusqu’à 50 balises. Les balises sont consultables à l'aide de l'interface utilisateur de Studio Classic, de la SageMaker console ou de l' SageMaker
Search
API.
-
-
Sélectionnez Envoyer.
La nouvelle image s'affiche dans la fenêtre Custom images (Images personnalisées) et est brièvement mise en surbrillance. Une fois l'image créée avec succès, vous pouvez choisir le nom de l'image pour afficher ses propriétés ou choisir Create version (Créer une version) pour créer une autre version.
Pour créer une autre version d'image
-
Choisissez Create version (Créer une version) sur la même ligne que l'image.
-
Pour Image source (Source de l'image), saisissez le chemin de registre vers l'image du conteneur dans Amazon ECR. L'image du conteneur ne doit pas être la même que celle utilisée dans une version précédente de l' SageMaker image.
Créez une SageMaker image à partir du AWS CLI
Vous devez effectuer les étapes suivantes pour créer une SageMaker image à partir de l'image du conteneur à l'aide duAWS CLI.
Créez un
Image
.Créez un
ImageVersion
.Créez un fichier de configuration.
Créez un
AppImageConfig
.
Pour créer les entités SageMaker d'image
-
Créez une SageMaker image.
aws sagemaker create-image \ --image-name custom-image \ --role-arn arn:aws:iam::
<acct-id>
:role/service-role/<execution-role>
La réponse devrait être similaire à ce qui suit.
{ "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
-
Créez une version d' SageMaker image à partir de l'image du conteneur.
aws sagemaker create-image-version \ --image-name custom-image \ --base-image
<acct-id>
.dkr.ecr.<region>
.amazonaws.com/smstudio-custom:custom-imageLa réponse devrait être similaire à ce qui suit.
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
-
Vérifiez que la version de l'image a bien été créée.
aws sagemaker describe-image-version \ --image-name custom-image \ --version-number 1
La réponse devrait être similaire à ce qui suit.
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1", "ImageVersionStatus": "CREATED" }
Note
Si la réponse est
"ImageVersionStatus": "CREATED_FAILED"
, la réponse inclut également la raison de l'échec. Un problème d'autorisations est une cause courante d'échec. Vous pouvez également consulter vos CloudWatch journaux Amazon en cas d'échec lors du démarrage ou de l'exécution de l' KernelGateway application pour obtenir une image personnalisée. Le nom du groupe de journaux est/aws/sagemaker/studio
. Le nom du flux de journaux est$domainID/$userProfileName/KernelGateway/$appName
. -
Créez un fichier de configuration nommé
app-image-config-input.json
. La valeurName
deKernelSpecs
doit correspondre au nom de KernelSpec disponible dans l'image associée à cetteAppImageConfig
. Cette valeur est sensible à la casse. Vous pouvez trouver les KernelSpecs disponibles dans une image en exécutantjupyter-kernelspec list
à partir d'un shell à l'intérieur du conteneur.MountPath
correspond au chemin d'accès dans l'image pour monter votre répertoire de base Amazon Elastic File System (Amazon EFS). Il doit être différent du chemin que vous utilisez à l'intérieur du conteneur, car ce chemin sera remplacé lorsque votre répertoire de base Amazon EFS est monté.Note
Les combinaisons
DefaultUID
etDefaultGID
sont les seules valeurs acceptées :DefaultUID : 1000 et DefaultGID : 100
DefaultUID : 0 et DefaultGID : 0
{ "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
-
Créez le AppImageConfig en utilisant le fichier créé à l'étape précédente.
aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
La réponse devrait être similaire à ce qui suit.
{ "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config" }