Testez les modèles et fonctions Python déployés en ligne avec Cloud Pack for Data avec des données d'entrée au format formulaire

Vous pouvez tester le comportement sur l'écran des détails du déploiement en déployant le modèle en ligne dans l'espace de déploiement Cloud Pak for Data (CP4D). Comme méthode de spécification des exemples de données d'entrée à utiliser pour l'exécution du test, spécifiez dans le format de formulaire suivant et image.png

Il peut être spécifié au format JSON. image.png

Pour utiliser le format de formulaire, vous devez créer le modèle avec un schéma d'entrée. Les modèles créés avec Modeler Flow (SPSS) semblent avoir un schéma d'entrée automatiquement, mais les modèles créés avec Python doivent spécifier le schéma d'entrée comme méta-information lors de l'enregistrement avec le client WML.

Comment enregistrer un modèle créé en Python avec un schéma d'entrée / sortie

Le code suivant enregistre le modèle scikit-learn créé à l'aide du client WML dans l'espace de déploiement. Pour savoir comment utiliser le client WML, reportez-vous à cet article.

Le format de formulaire ne nécessite qu'un schéma d'entrée, mais il a également un schéma de sortie.

Pour les modèles


meta_props={
    client.repository.ModelMetaNames.NAME: "sample_iris_model",
    client.repository.ModelMetaNames.RUNTIME_UID: "scikit-learn_0.22-py3.6",
    client.repository.ModelMetaNames.TYPE: "scikit-learn_0.22",
    client.repository.ModelMetaNames.INPUT_DATA_SCHEMA: [{
        "id":"input",
        "type":"list",
        "fields":[
            {'name': 'sepal length (cm)', 'type': 'double'},
            {'name': 'sepal width (cm)', 'type': 'double'},
            {'name': 'petal length (cm)', 'type': 'double'},
            {'name': 'petal width (cm)', 'type': 'double'}
        ]
    }],
    client.repository.ModelMetaNames.OUTPUT_DATA_SCHEMA: {
        "id":"output",
        "fields": [
            {'name': 'iris_type', 'type': 'string','metadata': {'modeling_role': 'prediction'}}
        ]
    }
}

model_artifact = client.repository.store_model(model, meta_props=meta_props, training_data=X, training_target=y)
model_id = model_artifact['metadata']['guid']

une fonction(function)dans le cas de


meta_props = {
    client.repository.FunctionMetaNames.NAME: 'sample_iris_scoring_func',
    client.repository.FunctionMetaNames.RUNTIME_UID: "ai-function_0.1-py3.6",
    client.repository.FunctionMetaNames.SPACE_UID: space_id,
    client.repository.FunctionMetaNames.INPUT_DATA_SCHEMAS: [{
        "id":"input",
        "fields": [
            {"metadata": {}, "type": "double", "name": "sepal length (cm)", "nullable": False},
            {"metadata": {}, "type": "double", "name": "sepal width (cm)", "nullable": False},
            {"metadata": {}, "type": "double", "name": "petal length (cm)", "nullable": False},
            {"metadata": {}, "type": "double", "name": "petal width (cm)", "nullable": False}
        ]
    }],
    client.repository.FunctionMetaNames.OUTPUT_DATA_SCHEMAS: [{
        "id":"output",
        "fields": [
            {"metadata": {'modeling_role': 'prediction'}, "type": "string", "name": "iris_type", "nullable": False}
        ]
    }]
}

function_details = client.repository.store_function(meta_props=meta_props, function=iris_scoring)
function_id = function_details['metadata']['guid']

Remarque: modifications par rapport à CP4D v3.0.1.

À proprement parler, il s'agit d'un changement par rapport à la version v1.0.95 du client WML et non à la version CP4D. CP4D v3.0.1 inclut le client WML v1.0.95 par défaut.

Le changement est que le schéma d'entrée du modèle est désormais spécifié comme type de liste au lieu d'un type dict. L'exemple de code ci-dessus spécifie INPUT_DATA_SCHEMA comme type de liste. Ce changement semble correspondre à plusieurs tables de données d'entrée, mais comme il a été spécifié comme type de dict avant la v1.0.95, même si vous spécifiez un type de dict dans la v1.0.99 ou une version ultérieure pour la compatibilité descendante Il a été corrigé afin qu'aucune erreur ne se produise.

De plus, lorsque je l'ai essayé, une erreur s'est produite même si je l'ai spécifié comme type de liste dans la v1.0.95. (Ceci demande avec ceci) Cela fonctionne bien avec la v1.0.103, nous vous recommandons donc de mettre à niveau avec pip install -U watson-machine-learning-client-V4 '' avant de l'utiliser.

Recommended Posts

Testez les modèles et fonctions Python déployés en ligne avec Cloud Pack for Data avec des données d'entrée au format formulaire
Déployez des fonctions avec Cloud Pak for Data
Acquisition et visualisation des données de capteurs pour la croissance des plantes avec Intel Edison et Python
[GCP] Procédure de création d'une application Web avec Cloud Functions (Python + Flask)
Construction de pipeline de données avec Python et Luigi
Générer des données de test japonais avec Python Faker
Essayez d'utiliser Python avec Google Cloud Functions
Utiliser Python et MeCab avec Azure Functions
Créez des données de test comme ça avec Python (partie 1)
Raisonnement causal et recherche causale par Python (pour les débutants)
fonctions cv2 et types de données (liaison python OpenCV)
[Python of Hikari-] Chapitre 06-04 Fonctions (arguments et valeurs de retour 3)
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
Benchmarks langage C, Java, Python avec factorisation prime
[Tutoriel PyTorch ⑦] Visualisation des modèles, des données et de la formation avec Tensorboard
[Hikari-Python] Chapitre 06-01 Fonctions (fonctions intégrées et définitions de fonctions)
Étudiez l'échange de données Java et Python avec Apache Arrow
[Python of Hikari-] Chapitre 06-03 Fonctions (arguments et valeurs de retour 2)
Demandez à Google Text-to-Speech de créer des données audio (narration) pour le matériel vidéo (avec des échantillons C # et Python)
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV