0 / 0
Zurück zur englischen Version der Dokumentation
Modelle in einen Bereitstellungsbereich importieren
Letzte Aktualisierung: 28. Nov. 2024
Modelle in einen Bereitstellungsbereich importieren

Importieren Sie Machine-Learning-Modelle, die außerhalb von IBM watsonx.ai Runtime trainiert wurden, damit Sie die Modelle einsetzen und testen können. Überprüfen Sie die Modellframeworks, die für den Import von Modellen verfügbar sind.

In diesem Fall bedeutet das Importieren eines trainierten Modells Folgendes:

  1. Speichern Sie das trainierte Modell in Ihrem watsonx.ai Runtime Repository
  2. Optional: Stellen Sie das gespeicherte Modell in Ihrem watsonx.ai Runtime Service bereit

und Repository steht für ein Cloud Object Storage -Bucket. Weitere Informationen finden Sie unter Bereitstellungsbereiche erstellen.

Sie können ein Modell auf folgende Arten importieren:

Weitere Informationen finden Sie unter:

Ein Beispiel für das programmgesteuerte Hinzufügen eines Modells mithilfe des Python -Clientsfinden Sie in diesem Notebook:

Ein Beispiel für das programmgesteuerte Hinzufügen eines Modells mithilfe der REST-APIfinden Sie im folgenden Notizbuch:

Verfügbare Methoden zum Importieren von Modellen nach Frameworktyp

Diese Tabelle listet die verfügbaren Möglichkeiten zum Importieren von Modellen in watsonx.ai Runtime pro Framework-Typ auf.

Importoptionen für Modelle nach Frameworktyp
Option 'import' Spark MLlib Scikit-learn XGBoost TensorFlow PyTorch
Modellobjekt importieren
Modell mithilfe eines Pfads zu einer Datei importieren
Modell mithilfe eines Pfads zu einem Verzeichnis importieren

Modell über die Benutzerschnittstelle hinzufügen

Hinweis:

Wenn Sie ein Modell im PMML-Format importieren möchten, können Sie die Modelldatei .xml direkt importieren.

Gehen Sie wie folgt vor, um ein Modell über die Benutzerschnittstelle zu importieren:

  1. Klicken Sie auf der Registerkarte Assets Ihres Bereichs in watsonx.ai Runtime auf Assets importieren.
  2. Wählen Sie Local file und dann Modellaus.
  3. Wählen Sie die Modelldatei aus, die Sie importieren möchten, und klicken Sie auf Importieren.

Der Importmechanismus wählt automatisch einen übereinstimmenden Modelltyp und eine übereinstimmende Softwarespezifikation basierend auf der Versionszeichenfolge in der Datei .xml aus.

Modellobjekt importieren

Hinweis:

Diese Importmethode wird von einer begrenzten Anzahl von ML-Frameworks unterstützt. Weitere Informationen finden Sie unter Verfügbare Methoden zum Importieren von Modellen nach Frameworktyp.

So importieren Sie ein Modellobjekt:

  1. Wenn sich Ihr Modell an einem fernen Standort befindet, befolgen Sie die Anweisungen unter Modell herunterladen, das an einem fernen Standort gespeichert ist.
  2. Speichern Sie das Modellobjekt in Ihrem watsonx.ai Runtime Repository. Weitere Informationen finden Sie unter Speichern des Modells im watsonx.ai Runtime Repository.

Modell mithilfe eines Pfads zu einer Datei importieren

Hinweis:

Diese Importmethode wird von einer begrenzten Anzahl von ML-Frameworks unterstützt. Weitere Informationen finden Sie unter Verfügbare Methoden zum Importieren von Modellen nach Frameworktyp.

Gehen Sie wie folgt vor, um ein Modell mithilfe eines Pfads zu einer Datei zu importieren:

  1. Wenn sich Ihr Modell an einem fernen Standort befindet, befolgen Sie die Anweisungen unter Modell herunterladen, das an einem fernen Standort gespeichert ist , um es herunterzuladen.

  2. Wenn Ihr Modell lokal gespeichert ist, platzieren Sie es in einem bestimmten Verzeichnis:

      !cp <saved model> <target directory>
      !cd <target directory>
    
  3. Erstellen Sie für scikit-learn-, XGBoost-, Tensorflow- und PyTorch-Modelle ein Archiv, wenn die heruntergeladene Datei kein .tar.gz-Archiv ist:

      !tar -zcvf <saved model>.tar.gz <saved model>
    

    Die Modelldatei muss sich im Ordner der höchsten Ebene des Verzeichnisses befinden. Beispiel:

    assets/
    <saved model>
    variables/
    variables/variables.data-00000-of-00001
    variables/variables.index
    
  4. Verwenden Sie den Pfad zur gespeicherten Datei, um die Modelldatei in Ihrem watsonx.ai Runtime Repository zu speichern. Weitere Informationen finden Sie unter Speichern des Modells im watsonx.ai Runtime Repository.

Modell unter Verwendung eines Pfads zu einem Verzeichnis importieren

Hinweis:

Diese Importmethode wird von einer begrenzten Anzahl von ML-Frameworks unterstützt. Weitere Informationen finden Sie unter Verfügbare Methoden zum Importieren von Modellen nach Frameworktyp.

Gehen Sie wie folgt vor, um ein Modell mithilfe eines Pfads zu einem Verzeichnis zu importieren:

  1. Wenn sich Ihr Modell an einem fernen Standort befindet, folgen Sie den Anweisungen zum Herunterladen eines Modells, das an einem fernen Standort gespeichert ist.

  2. Wenn Ihr Modell lokal gespeichert ist, platzieren Sie es in einem bestimmten Verzeichnis:

    !cp <saved model> <target directory>
    !cd <target directory>
    

    Für scikit-learn-, XGBoost-, Tensorflow-und PyTorch -Modelle muss sich die Modelldatei im Ordner der höchsten Ebene des Verzeichnisses befinden. Beispiel:

    assets/
    <saved model>
    variables/
    variables/variables.data-00000-of-00001
    variables/variables.index
    
  3. Verwenden Sie den Verzeichnispfad, um die Modelldatei in Ihrem watsonx.ai Runtime Repository zu speichern. Weitere Informationen finden Sie unter Speichern des Modells im watsonx.ai Runtime Repository.

Modell herunterladen, das an einem fernen Standort gespeichert ist

Führen Sie den folgenden Beispielcode aus, um Ihr Modell von einem fernen Standort herunterzuladen:

import os
from wget import download

target_dir = '<target directory name>'
if not os.path.isdir(target_dir):
    os.mkdir(target_dir)
filename = os.path.join(target_dir, '<model name>')
if not os.path.isfile(filename):
    filename = download('<url to model>', out = target_dir)

Hinweise zum Importieren von Modellen

Weitere Informationen zum Importieren eines bestimmten Modelltyps finden Sie unter:

Um mehr über Frameworks zu erfahren, die Sie mit watsonx.ai Runtime verwenden können, siehe Unterstützte Frameworks.

Im PMML-Format gespeicherte Modelle

  • Der einzige verfügbare Bereitstellungstyp für Modelle, die aus PMML importiert werden, ist die Onlinebereitstellung.
  • Die PMML-Datei muss die Dateierweiterung .xml haben.
  • PMML-Modelle können in einem SPSS-Datenstromablauf nicht verwendet werden.
  • Die PMML-Datei darf keinen Prolog enthalten. Abhängig von der Bibliothek, die Sie beim Speichern Ihres Modells verwenden, wird möglicherweise standardmäßig ein Prolog am Anfang der Datei hinzugefügt. Wenn Ihre Datei beispielsweise eine Prologzeichenfolge wie spark-mllib-lr-model-pmml.xml enthält, entfernen Sie die Zeichenfolge, bevor Sie die PMML-Datei in den Bereitstellungsbereich importieren.

Abhängig von der Bibliothek, die Sie verwenden, wenn Sie Ihr Modell speichern, kann ein Prolog standardmäßig am Anfang der Datei hinzugefügt werden. Beispiel:

::::::::::::::
spark-mllib-lr-model-pmml.xml
::::::::::::::

Sie müssen diesen Prolog entfernen, bevor Sie die PMML-Datei in watsonx.ai Runtime importieren können.

Spark MLlib-Modelle

  • Nur Klassifikations-und Regressionsmodelle sind verfügbar.
  • Angepasste Umsetzungsprogramme, benutzerdefinierte Funktionen und Klassen sind nicht verfügbar.

Scikit-learn Modelle

  • .pkl und .pickle sind die verfügbaren Importformate.
  • Verwenden Sie das Paket joblib , um das Modell zu serialisieren oder zu verwenden.
  • Nur Klassifikations-und Regressionsmodelle sind verfügbar.
  • Pandas Dataframe-Eingabetyp für predict() -API ist nicht verfügbar.
  • Der einzige verfügbare Bereitstellungstyp für Scikit-learn-Modelle ist die Onlinebereitstellung.

XGBoost-Modelle

  • .pkl und .pickle sind die verfügbaren Importformate.
  • Verwenden Sie das Paket joblib , um das Modell zu serialisieren oder zu verwenden.
  • Nur Klassifikations-und Regressionsmodelle sind verfügbar.
  • Pandas Dataframe-Eingabetyp für predict() -API ist nicht verfügbar.
  • Der einzige verfügbare Bereitstellungstyp für XGBoost-Modelle ist die Onlinebereitstellung.

TensorFlow -Modelle

  • .pb, .h5und .hdf5 sind die verfügbaren Importformate.
  • Verwenden Sie zum Speichern oder Serialisieren eines TensorFlow -Modells die Methode tf.saved_model.save() .
  • tf.estimator ist nicht verfügbar.
  • Die einzigen verfügbaren Bereitstellungstypen für TensorFlow -Modelle sind: Onlinebereitstellung und Stapelbereitstellung.

PyTorch -Modelle

  • Der einzige verfügbare Bereitstellungstyp für PyTorch -Modelle ist die Onlinebereitstellung.

  • Damit ein Pytorch-Modell in watsonx.ai Runtime importiert werden kann, muss es zuvor in das ' .onnx ormat exportiert worden sein. Siehe diesen Code.

    torch.onnx.export(<model object>, <prediction/training input data>, "<serialized model>.onnx", verbose=True, input_names=<input tensor names>, output_names=<output tensor names>)
    

Speichern eines Modells in Ihrem watsonx.ai Runtime Repository

Verwenden Sie diesen Code, um Ihr Modell in Ihrem watsonx.ai Runtime Repository zu speichern:

from ibm_watson_machine_learning import APIClient

client = APIClient(<your credentials>)
sw_spec_uid = client.software_specifications.get_uid_by_name("<software specification name>")

meta_props = {
    client.repository.ModelMetaNames.NAME: "<your model name>",
    client.repository.ModelMetaNames.SOFTWARE_SPEC_UID: sw_spec_uid,
    client.repository.ModelMetaNames.TYPE: "<model type>"}

client.repository.store_model(model=<your model>, meta_props=meta_props)

Anmerkungen:

  • Je nach verwendetem Modellframework kann <your model> das tatsächliche Modellobjekt, ein vollständiger Pfad zu einer gespeicherten Modelldatei oder ein Pfad zu einem Verzeichnis sein, in dem sich die Modelldatei befindet. Weitere Informationen finden Sie unter Verfügbare Methoden zum Importieren von Modellen nach Frameworktyp.

  • Verwenden Sie die Methode client.software_specifications.list(), um eine Liste der verfügbaren Softwarespezifikationen für <software specification name> zu erhalten.

  • Eine Liste der verfügbaren Modelltypen, die als model_type verwendet werden können, finden Sie unter Softwarespezifikationen und Hardwarespezifikationen für Bereitstellungen

  • Wenn Sie ein Pytorch-Modell in das ' .onnx -Format exportieren, geben Sie das ' keep_initializers_as_inputs=True -Flag an und setzen Sie ' opset_version auf 9watsonx.ai Runtime Deployments verwenden die ' caffe2 ONNX-Runtime, die keine höheren Opset-Versionen als 9 unterstützt).

    torch.onnx.export(net, x, 'lin_reg1.onnx', verbose=True, keep_initializers_as_inputs=True, opset_version=9)
    

Übergeordnetes Thema: Assets in Bereitstellungsbereichen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen