

Sagemaker Python SDK est une bibliothèque open source pour la formation et le déploiement de modèles d'apprentissage automatique sur Amazon SageMaker.
Avec le SDK, vous pouvez vous entraîner et déployer des modèles à l'aide de frameworks d'apprentissage en profondeur populaires Apache Mxnet et TensorFlow . Vous pouvez également former et déployer des modèles avec des algorithmes Amazon , qui sont des implémentations évolutives des algorithmes de base d'apprentissage automatique qui sont optimisés pour la formation SageMaker et GPU. Si vous avez vos propres algorithmes intégrés dans des conteneurs Docker compatibles Sagemaker, vous pouvez également former et héberger des modèles en utilisant ces derniers.
Pour une documentation détaillée, y compris la référence de l'API, voir lire les documents.
Le SDK Sagemaker Python est construit sur PYPI et la dernière version du SDK Sagemaker Python peut être installée avec PIP comme suit
pip install sagemaker == <Dernière version de PYPI à partir de https://pypi.org/project/sagemaker/>
Vous pouvez installer à partir de la source en clonage ce référentiel et en exécutant une commande PIP d'installation dans le répertoire racine du référentiel:
git clone https://github.com/aws/sagemaker-python-sdk.git cd sagemaker-python-sdk Pip Install.
Sagemaker Python SDK prend en charge Unix / Linux et Mac.
Sagemaker Python SDK est testé sur:
La bibliothèque sagemaker a une télémétrie en mesure de nous aider à mieux comprendre les besoins des utilisateurs, à diagnostiquer les problèmes et à fournir de nouvelles fonctionnalités. Cette télémétrie suit l'utilisation de diverses fonctions de sagemaker.
Si vous préférez vous retirer de la télémétrie, vous pouvez facilement le faire en définissant le paramètre TelemetryOptOut sur true dans la configuration des défauts SDK. Pour des instructions détaillées, veuillez visiter la configuration et l'utilisation par défaut avec le SDK Sagemaker Python.
En tant que service géré, Amazon SageMaker effectue des opérations en votre nom sur le matériel AWS géré par Amazon SageMaker. Amazon SageMaker peut effectuer uniquement des opérations que l'utilisateur permet. Vous pouvez en savoir plus sur les autorisations nécessaires dans la documentation AWS.
Le SDK Sagemaker Python ne devrait pas nécessiter de autorisations supplémentaires en dehors de ce qui est requis pour l'utilisation de Sagemaker. Cependant, si vous utilisez un rôle IAM avec un chemin, vous devez accorder la permission pour iam:GetRole .
Sagemaker Python SDK est concédé sous licence Apache 2.0. Il s'agit d'auteur d'Amazon.com, Inc. ou de ses affiliés. Tous droits réservés. La licence est disponible sur: http://aws.amazon.com/apache2.0/
Sagemaker Python SDK a des tests unitaires et des tests d'intégration.
Vous pouvez installer les bibliothèques nécessaires pour exécuter les tests en exécutant pip install --upgrade .[test] ou, pour les utilisateurs de Zsh: pip install --upgrade .[test]
Tests unitaires
Nous exécutons des tests unitaires avec TOX, qui est un programme qui vous permet d'exécuter des tests unitaires pour plusieurs versions Python, et nous assurons également que le code correspond à nos directives de style. Nous exécutons TOX avec toutes nos versions Python prises en charge, donc pour exécuter des tests unitaires avec la même configuration que nous faisons, vous devez avoir des interprètes pour ces versions Python installées.
Pour exécuter les tests unitaires avec TOX, exécutez:
Tests TOX / UNIT
Tests d'intégration
Pour exécuter les tests d'intégration, les conditions préalables suivantes doivent être remplies
SageMakerRole . Il devrait avoir la politique AmazonageMakerfullaccess attachée ainsi qu'une politique avec les autorisations nécessaires pour utiliser l'inférence élastique.aws ecr create-repository --repository-name remote-function-dummy-containerNous vous recommandons d'exécuter sélectivement les tests d'intégration que vous souhaitez exécuter. Vous pouvez filtrer par des noms de fonction de test individuels avec:
tox - -k 'test_i_care_about'
Vous pouvez également exécuter tous les tests d'intégration en exécutant la commande suivante, qui les exécute en séquence, ce qui peut prendre un certain temps:
TOX - TESTS / INTEG
Vous pouvez également les exécuter en parallèle:
TOX - -N TESTS AUTO / INTEG
Pour activer tous les crochets GIT dans le répertoire .githooks, exécutez ces commandes dans le répertoire du référentiel:
trouver .git / hooks -Type l -exec rm {} ;
Find .githooks -Type f -exec ln -sf ../../ {} .git / hooks / ;
Pour activer un crochet GIT individuel, déplacez-le simplement du .Githooks / Directory vers le .git / hooks / répertoire.
Configurez un environnement Python et installez les dépendances répertoriées dans doc/requirements.txt :
# conda conda crée -n sagemaker python = 3,7 conda activer le sagemaker Conda installer sphinx = 3.1.1 sphinx_rtd_theme = 0.5.0 # Pip pip install -r doc / exigences.txt
Clone / fourche le dépôt et installez votre version locale:
PIP Install - Upgrade.
Ensuite, cd dans le répertoire sagemaker-python-sdk/doc et exécutez:
faire du HTML
Vous pouvez modifier les modèles pour l'une des pages des documents en modifiant les fichiers .RST dans le répertoire doc , puis en exécutant make html à nouveau.
Aperçu du site avec un serveur Web Python:
CD _BUILD / HTML Python -M Http.Server 8000
Consultez le site Web en visitant http: // localhost: 8000
Avec Sagemaker Sparkml Serving, vous pouvez désormais effectuer des prédictions contre un modèle SparkML dans SageMaker. Afin d'accueillir un modèle SparkML dans SageMaker, il doit être sérialisé avec la bibliothèque MLeap .
Pour plus d'informations sur Mleap, voir https://github.com/combust/mleap.
Version majeure prise en charge de Spark: 3.3 (version Mleap - 0,20.0)
Voici un exemple sur la façon de créer une instance de la classe SparkMLModel et d'utiliser la méthode deploy() pour créer un point de terminaison qui peut être utilisé pour effectuer une prédiction par rapport à votre modèle SparkML formé.
sparkml_model = SparkMLModel ( model_data = 's3://path/to/model.tar.gz' , env = { 'SAGEMAKER_SPARKML_SCHEMA' : schema })
model_name = 'sparkml-model'
endpoint_name = 'sparkml-endpoint'
predictor = sparkml_model . deploy ( initial_instance_count = 1 , instance_type = 'ml.c4.xlarge' , endpoint_name = endpoint_name ) Une fois le modèle déployé, nous pouvons invoquer le point de terminaison avec une charge utile CSV comme ceci:
payload = 'field_1,field_2,field_3,field_4,field_5'
predictor . predict ( payload ) Pour plus d'informations sur les différents formats content-type et Accept ainsi que sur la structure du schema que Sagemaker Sparkml Serving reconnaît, veuillez consulter Sagemaker Sparkml Serviing Containing.