Référentiel privé pour les dépendances d'exécution - Amazon SageMaker

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.

Référentiel privé pour les dépendances d'exécution

Vous pouvez utiliser des commandes ou des scripts de pré-exécution pour configurer un gestionnaire de dépendances tel que pip ou conda dans votre environnement de tâche. Pour isoler le réseau, utilisez l'une de ces options pour rediriger vos gestionnaires de dépendances afin qu'ils accèdent à vos référentiels privés et exécutent des fonctions à distance au sein d'unVPC. Les commandes ou le script de pré-exécution seront exécutés avant l'exécution de votre fonction distante. Vous pouvez les définir avec le décorateur @remote RemoteExecutorAPI, le ou dans un fichier de configuration.

Les sections suivantes vous montrent comment accéder à un dépôt privé Python Package Index (PyPI) géré avec AWS CodeArtifact. Les sections indiquent également comment accéder à un canal Conda personnalisé hébergé sur Amazon Simple Storage Service (Amazon S3).

Comment utiliser un dépôt PyPI personnalisé géré avec AWS CodeArtifact

CodeArtifact Pour gérer un référentiel PyPI personnalisé, les conditions préalables suivantes sont requises :

L'exemple de commande de pré-exécution suivant montre comment configurer pip dans la tâche d' SageMakerentraînement pour qu'il pointe vers votre CodeArtifact référentiel. Pour plus d'informations, consultez Configurer et utiliser pip avec CodeArtifact.

# use a requirements.txt file to import dependencies @remote( instance_type="ml.m5.large" image_uri = "my_base_python:latest", dependencies = './requirements.txt', pre_execution_commands=[ "aws codeartifact login --tool pip --domain my-org --domain-owner <000000000000> --repository my-codeartifact-python-repo --endpoint-url https://vpce-xxxxx.api.codeartifact.us-east-1.vpce.amazonaws.com" ] ) def matrix_multiply(a, b): return np.matmul(a, b)

Comment utiliser un canal conda personnalisé hébergé sur Amazon S3

Pour utiliser Amazon S3 afin de gérer un référentiel conda personnalisé, les conditions préalables suivantes sont requises :

  • Votre canal conda privé doit déjà être configuré dans votre compartiment Amazon S3 et tous les packages dépendants doivent être indexés et chargés dans votre compartiment Amazon S3. Pour obtenir des instructions sur la façon d'indexer vos packages conda, consultez Création de chaînes personnalisées (langue française non garantie).

  • Vous VPC devriez avoir accès au compartiment Amazon S3. Pour plus d’informations, consultez Points de terminaison pour Amazon S3.

  • L'environnement conda de base de votre image de tâche doit avoir boto3 installé. Pour vérifier votre environnement, entrez ce qui suit dans votre invite Anaconda pour vérifier que boto3 apparaît dans la liste générée.

    conda list -n base
  • Votre image de tâche doit être installée avec conda, pas avec mamba. Pour vérifier votre environnement, assurez-vous que l'invite de code précédente ne renvoie pas mamba.

L'exemple de commandes de pré-exécution suivant montre comment configurer conda lors de la tâche d' SageMaker entraînement pour qu'il pointe vers votre canal privé sur Amazon S3. Les commandes de pré-exécution suppriment le canal par défaut et ajoutent des canaux personnalisés à un .condarc fichier de configuration conda.

# specify your dependencies inside a conda yaml file @remote( instance_type="ml.m5.large" image_uri = "my_base_python:latest", dependencies = "./environment.yml", pre_execution_commands=[ "conda config --remove channels 'defaults'" "conda config --add channels 's3://my_bucket/my-conda-repository/conda-forge/'", "conda config --add channels 's3://my_bucket/my-conda-repository/main/'" ] ) def matrix_multiply(a, b): return np.matmul(a, b)