Sie können das Verhalten auf dem Bildschirm mit den Bereitstellungsdetails testen, indem Sie das Modell online im Bereitstellungsbereich von Cloud pak for Data (CP4D) bereitstellen. Geben Sie als Methode zum Angeben der Beispieleingabedaten, die für die Testausführung verwendet werden sollen, das folgende Formularformat und an
Es kann im JSON-Format angegeben werden.
Um das Formularformat verwenden zu können, müssen Sie das Modell mit einem Eingabeschema erstellen. Modelle, die mit Modeler Flow (SPSS) erstellt wurden, scheinen automatisch ein Eingabeschema zu haben, aber mit Python erstellte Modelle müssen das Eingabeschema beim Speichern mit dem WML-Client als Metainformationen angeben.
Der folgende Code speichert das mit dem WML-Client erstellte Scikit-Learn-Modell im Bereitstellungsbereich. Informationen zur Verwendung des WML-Clients finden Sie in diesem Artikel.
Das Formularformat erfordert nur ein Eingabeschema, aber es hat auch ein Ausgabeschema.
Für Modelle
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']
(function)Im Falle von
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']
Genau genommen handelt es sich um eine Änderung gegenüber der WML-Client-Version v1.0.95 und nicht gegenüber der CP4D-Version. CP4D v3.0.1 enthält standardmäßig den WML-Client v1.0.95.
Die Änderung besteht darin, dass das Modelleingabeschema jetzt als Listentyp anstelle eines Diktattyps angegeben wird. Der obige Beispielcode gibt INPUT_DATA_SCHEMA als Listentyp an. Diese Änderung scheint mehreren Eingabedatentabellen zu entsprechen, wurde jedoch vor Version 1.0.95 als Diktattyp angegeben, auch wenn Sie aus Gründen der Abwärtskompatibilität den Diktattyp in Version 1.0.99 oder höher angeben Es wurde behoben, damit kein Fehler auftritt.
Außerdem ist beim Versuch ein Fehler aufgetreten, selbst wenn ich ihn in v1.0.95 als Listentyp angegeben habe. (Dies ist eine Anfrage damit) Es funktioniert gut mit v1.0.103, daher empfehlen wir, vor der Verwendung ein Upgrade mit `` `pip install -U watson-maschinell-lernen-client-V4``` durchzuführen.
Recommended Posts