Importez un fichier JSON pour créer et configurer tous les déploiements de votre ressource pour les évaluations de modèles. Exportez le fichier de configuration pour configurer d'autres actifs et leurs déploiements.
Vous pouvez également importer et exporter des configurations pour les évaluations de modèles en utilisant les méthodes API import subscription et export subscription.
Charger le contenu du fichier JSON comme dictionnaire Python
Pour cet exemple, le fichier sagemaker_native_multiclass_breast-cancer_all_monitors_sub_configuration.json
définit des données de configuration pour un modèle qui prédit un type de cancer.
Pour charger le fichier dans Python, exécutez la commande suivante :
configuration_file_path = 'sagemaker_native_multiclass_breast-cancer_all_monitors_sub_configuration.json'
with open(configuration_file_path, 'r') as fp:
subscription_configuration = json.load(fp)
Ce fichier contient des données de configuration. Voir l'exemple suivant. Pour un exemple complet du contenu de la configuration, consultez le bloc-notes.
{'asset': {'asset_id': '0530ab0cd4f4dd5486b19c08df8b6914',
'asset_type': 'model',
'created_at': '2018-10-10T14:31:44.348Z',
'name': 'DEMO-multi-classification-2018-10-10-14-26-26',
'url': 's3://sagemaker-us-east-1-014862798213/sagemaker/DEMO-breast-cancer-prediction/DEMO-multi-classification-2018-10-10-14-26-26/output/model.tar.gz'},
'asset_properties': {'categorical_fields': [],
'feature_fields': ['radius_mean',
'texture_mean',
. . .
'input_data_schema': {'fields': [{'metadata': {'modeling_role': 'feature'},
'name': 'radius_mean',
'nullable': True,
'type': 'double'},
{'metadata': {'modeling_role': 'feature'},
'name': 'texture_mean',
'nullable': True,
'type': 'double'},
. . .
'input_data_type': 'structured',
'label_column': 'diagnosis',
'output_data_schema': {'fields': [{'metadata': {'modeling_role': 'feature'},
'name': 'radius_mean',
'nullable': True,
'type': 'double'},
{'metadata': {'modeling_role': 'feature'},
'name': 'texture_mean',
'nullable': True,
'type': 'double'},
. . .
'prediction_field': 'predicted_label',
'prediction_probability_field': 'score',
'problem_type': 'multiclass',
'training_data_schema': {'fields': [{'metadata': {'modeling_role': 'feature'},
'name': 'radius_mean',
'nullable': True,
'type': 'double'},
{'metadata': {'modeling_role': 'feature'},
'name': 'texture_mean',
'nullable': True,
'type': 'double'},
. . .
'configurations': {'explainability': {'training_statistics': {'base_values': {'0': 13.37,
'1': 18.84,
'10': 0.3242,
. . .
'fairness_monitoring': {'class_label': 'predicted_label',
'distributions': [{'attribute': 'radius_mean',
'class_labels': [{'counts': [{'class_value': 'B', 'count': 1}],
'label': '[6.8, 7.2]'},
{'counts': [{'class_value': 'B', 'count': 3}], 'label': '[7.6, 8.0]'},
{'counts': [{'class_value': 'B', 'count': 2}], 'label': '[8.0, 8.4]'},
. . .
'favourable_class': ['M'],
'features': [{'feature': 'radius_mean',
'majority': [[0.0, 10.0], [19.0, 20.0]],
'minority': [[15.0, 16.0]],
'threshold': 0.8,
'type': 'float'}],
'min_records': 5,
'perform_debias': True,
'run_status': 'INITIATED',
'training_data_class_label': None,
'unfavourable_class': ['B']},
'payload_logging': {'dynamic_schema_update': True,
'output_data_schema': {'fields': [{'metadata': {'modeling_role': 'feature'},
'name': 'radius_mean',
'nullable': True,
'type': 'double'},
{'metadata': {'modeling_role': 'feature'},
'name': 'texture_mean',
'nullable': True,
'type': 'double'},
. . .
'performance_monitoring': {},
'quality_monitoring': {'evaluation_definition': {'method': 'multiclass',
'threshold': 0.8},
'min_feedback_data_size': 5,
'scheduleId': '63c7f400-aa29-4539-91ad-8a4b9d2b9a51'}},
'deployments': [{'created_at': '2018-10-10T14:39:21.421Z',
'deployment_id': '37a83f399e6dc3b9d08d7d01fe690665',
'deployment_rn': 'arn:aws:sagemaker:us-east-1:014862798213:endpoint/demo-multi-classification-endpoint-201810101439',
'deployment_type': 'online',
'name': 'DEMO-multi-classification-endpoint-201810101439',
'scoring_endpoint': {'request_headers': {'Content-Type': 'application/json'},
'url': 'DEMO-multi-classification-endpoint-201810101439'},
'url': 'DEMO-multi-classification-endpoint-201810101439'}],
'export_info': {'api_version': 'v1',
'origin': '/v1/data_marts/b73545e6-0a6e-466c-8cd0-c47c044c5702/service_bindings/bf44cc7f-990d-4942-bfc6-cbcf71a1b78c/subscriptions/0530ab0cd4f4dd5486b19c08df8b6914',
'timestamp': '2019-02-11T11:41:01.613Z'}}
Importer à partir du fichier de configuration
Exécutez maintenant l'appel pour ajouter et configurer le déploiement d'actif pour l'exemple de déploiement de modèle de prédiction du cancer du sein.
subscription = client.data_mart.subscriptions.import_configuration(binding_uid=binding_uid, configuration_data=subscription_configuration)
Le paramètre binding_uid
est optionnel si vous ne liez qu'un seul moteur ML.
Exporter vers le fichier de configuration
Vous pouvez également exporter le fichier de configuration en JSON :
exported_configuration = client.data_mart.subscriptions.export_configuration(binding_uid=binding_uid, subscription_uid=subscription.uid)
Résultats
Le déploiement des actifs est créé et prêt à être utilisé pour l'évaluation des modèles.
Rubrique parent: Préparation de l'évaluation d'un modèle