Bonnes pratiques en matière de configuration du cycle de vie - Amazon SageMaker

Bonnes pratiques en matière de configuration du cycle de vie

Les bonnes pratiques suivantes sont exigées pour utiliser les configurations de cycle de vie :

  • Les configurations de cycle de vie sont exécutées en tant qu'utilisateur root Si votre script effectue des modifications dans le répertoire /home/ec2-user/SageMaker, (par exemple, l'installation d'un package avec pip), utilisez la commande sudo -u ec2-user pour effectuer l'exécution en tant qu'utilisateur ec2-user. Il s'agit du même utilisateur que celui employé pour Amazon SageMaker.

  • Les instances de bloc-notes SageMaker utilisent des environnements conda pour implémenter différents noyaux pour les blocs-notes Jupyter. Si vous souhaitez installer des packages qui sont disponibles pour un ou plusieurs noyaux de bloc-notes, ajoutez les commandes pour installer les packages avec les commandes d'environnement conda qui activent l'environnement conda contenant le noyau pour l'installation des packages.

    Par exemple, si vous souhaitez installer un package seulement pour l'environnement python3, utilisez le code suivant :

    #!/bin/bash sudo -u ec2-user -i <<'EOF' # This will affect only the Jupyter kernel called "conda_python3". source activate python3 # Replace myPackage with the name of the package you want to install. pip install myPackage # You can also perform "conda install" here as well. source deactivate EOF

    Si vous souhaitez installer un package dans tous les environnements conda de l'instance de bloc-notes, utilisez le code suivant :

    #!/bin/bash sudo -u ec2-user -i <<'EOF' # Note that "base" is special environment name, include it there as well. for env in base /home/ec2-user/anaconda3/envs/*; do source /home/ec2-user/anaconda3/bin/activate $(basename "$env") # Installing packages in the Jupyter system environment can affect stability of your SageMaker # Notebook Instance. You can remove this check if you'd like to install Jupyter extensions, etc. if [ $env = 'JupyterSystemEnv' ]; then continue fi # Replace myPackage with the name of the package you want to install. pip install --upgrade --quiet myPackage # You can also perform "conda install" here as well. source /home/ec2-user/anaconda3/bin/deactivate done EOF
  • Tous les environnements conda doivent être stockés dans le dossier des environnements par défaut (c.-à-d. /home/user/anaconda3/envs).

Important

Lorsque vous créez ou modifiez un script, nous vous recommandons d'utiliser un éditeur de texte qui fournit des sauts de ligne de style UNIX, tel que l'éditeur de texte disponible dans la console lors de la création d'un bloc-notes. La copie de texte à partir d'un système d'exploitation autre que Linux peut inclure des sauts de ligne incompatibles et entraîner une erreur inattendue.