What-if-Tool verwenden

Sie können das What-If-Tool (WIT) in Notebookumgebungen verwenden, um AI Platform Prediction-Modelle über ein interaktives Dashboard zu prüfen. Das What-If-Tool ist in TensorBoard, Jupyter-Notebooks, Colab-Notebooks und JupyterHub eingebunden. Außerdem ist es auf TensorFlow-Instanzen von AI Platform-Notebooks vorinstalliert.

Auf dieser Seite wird erläutert, wie Sie das What-If-Tool mit einem trainierten Modell verwenden, das bereits auf AI Platform bereitgestellt ist. Weitere Informationen zum Bereitstellen von Modellen

What-If-Tool installieren

Hier erfahren Sie, wie Sie witwidget in verschiedenen Notebookumgebungen installieren:

AI Platform Notebooks

witwidget ist bereits auf AI Platform-Notebooks installiert.

Sie können die What-If-Tool-Anleitungen in Ihre Notebookinstanz laden. Dazu klonen Sie das WIT-Anleitungsrepository in Ihre Instanz. Weitere Informationen finden Sie unter GitHub-Repository in eine Notebookinstanz klonen.

Jupyter-Notebook

Mit den folgenden Befehlen installieren und aktivieren Sie das WIT für Jupyter:

pip install witwidget
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget

Sie können die GPU-kompatible Version von witwidget installieren, um TensorFlow mit GPU-Unterstützung (tensorflow-gpu) zu verwenden:

pip install witwidget-gpu
jupyter nbextension install --py --symlink --sys-prefix witwidget
jupyter nbextension enable --py --sys-prefix witwidget

Sie müssen diese Installationsbefehle nur einmal in der Jupyter-Umgebung ausführen. Wenn Sie danach einen Jupyter-Kernel einrichten, ist das What-If-Tool verfügbar.

Colab-Notebook

Installieren Sie das Widget in die Laufzeit des Notebook-Kernels, indem Sie eine Zelle ausführen, die Folgendes enthält:

!pip install witwidget

Sie können die GPU-kompatible Version von witwidget installieren, um TensorFlow mit GPU-Unterstützung (tensorflow-gpu) zu verwenden:

!pip install witwidget-gpu

JupyterLab

Folgen Sie dieser Anleitung für JupyterLab außerhalb von AI Platform-Notebooks.

Sie installieren und aktivieren das WIT für JupyterLab, indem Sie eine Zelle ausführen, die Folgendes enthält:

!pip install witwidget
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager

Für die TensorFlow-GPU-Unterstützung verwenden Sie das Paket witwidget-gpu:

!pip install witwidget-gpu
!jupyter labextension install wit-widget
!jupyter labextension install @jupyter-widgets/jupyterlab-manager

Je nach Notebookeinrichtung müssen Sie gegebenenfalls einige !sudo jupyter labextension ...-Befehle ausführen.

Vorhersageausgaben für das What-If-Tool anpassen

Für alle Modelle, deren Ausgabe nicht den Anforderungen des What-If-Tools entspricht, müssen Sie eine Vorhersageanpassungsfunktion in Ihrem Code definieren.

Für das What-If-Tool sind die folgenden Eingabeformate erforderlich:

  • Klassifikationsmodell: Eine Liste der Klassenpunktzahlen
  • Regressionsmodell: Eine Regressionspunktzahl

Ein binäres XGBoost-Klassifikationsmodell gibt beispielsweise nur Ergebnisse für die positive Klasse zurück. Da das What-If-Tool Ergebnisse für jede Klasse erwartet, verwenden Sie die folgende Vorhersageanpassungsfunktion, um eine Liste mit sowohl den negativen als auch den positiven Punktzahlen zu erhalten:

def adjust_prediction(pred):
  return [1 - pred, pred]

Bevor Sie das What-If-Tool konfigurieren, definieren Sie die Vorhersageanpassungsfunktion in einer Notebook-Codezelle.

What-If-Tool konfigurieren

Sie können das What-If-Tool verwenden, um ein Modell zu prüfen oder zwei Modelle miteinander zu vergleichen. Geben Sie die entsprechenden Werte für Ihr Google Cloud-Projekt, das AI Platform-Modell und die Version sowie weitere für Ihr Modell geeignete Werte im WitConfigBuilder ein.

  1. Importieren Sie witwidget:

    import witwidget
    
  2. Erstellen Sie einen WitConfigBuilder, um verschiedene Parameter für das Modell und das AI Platform Prediction-Projekt an das What-If-Tool zu übergeben. Sie können das What-If-Tool verwenden, um ein Modell zu prüfen oder zwei Modelle miteinander zu vergleichen. Geben Sie die entsprechenden Werte für Ihr Google Cloud-Projekt, das AI Platform Prediction-Modell und die Version sowie weitere für Ihr Modell geeignete Werte ein.

    Modell prüfen

    In diesem Config Builder wird gezeigt, wie Sie mit dem What-If-Tool ein Modell prüfen können. Hier finden Sie ein komplettes Beispielnotebook mit einem bereitgestellten XGBoost-Modell.

    Weitere Details zu den einzelnen Methoden finden Sie im Code für den WitConfigBuilder.

    PROJECT_ID = 'YOUR_PROJECT_ID'
    MODEL_NAME = 'YOUR_MODEL_NAME'
    VERSION_NAME = 'YOUR_VERSION_NAME'
    TARGET_FEATURE = 'mortgage_status'
    LABEL_VOCAB = ['denied', 'approved']
    
    config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + ['mortgage_status'])
      .set_ai_platform_model(PROJECT_ID, MODEL_NAME, VERSION_NAME, adjust_prediction=adjust_prediction)
      .set_target_feature(TARGET_FEATURE)
      .set_label_vocab(LABEL_VOCAB))
    

    Modelle vergleichen

    In diesem Config Builder wird gezeigt, wie Sie mit dem What-If-Tool zwei Modelle prüfen und miteinander vergleichen können. Hier finden Sie ein komplettes Beispielnotebook mit einem Vergleich von bereitgestellten Keras- und scikit-learn-Modellen.

    Weitere Details zu den einzelnen Methoden finden Sie im Code für den WitConfigBuilder.

    PROJECT_ID = 'YOUR_PROJECT_ID'
    KERAS_MODEL_NAME = 'YOUR_KERAS_MODEL_NAME'
    KERAS_VERSION_NAME = 'VERSION_NAME_OF_YOUR_KERAS_MODEL'
    SKLEARN_MODEL_NAME = 'YOUR_SKLEARN_MODEL_NAME'
    SKLEARN_VERSION_NAME = 'VERSION_NAME_OF_YOUR_SKLEARN_MODEL'
    TARGET_FEATURE = 'quality'
    
    config_builder = (WitConfigBuilder(test_examples.tolist(), features.columns.tolist() + [TARGET_FEATURE])
     .set_ai_platform_model(PROJECT_ID, KERAS_MODEL_NAME, KERAS_VERSION_NAME)
     .set_predict_output_tensor('sequential').set_uses_predict_api(True)
     .set_target_feature(TARGET_FEATURE)
     .set_model_type('regression')
     .set_compare_ai_platform_model(PROJECT_ID, SKLEARN_MODEL_NAME, SKLEARN_VERSION_NAME))
    
  3. Sie übergeben den Config Builder an WitWidget und legen eine Anzeigehöhe fest. Das What-If-Tool wird als interaktive Visualisierung in Ihrem Notebook angezeigt.

    WitWidget(config_builder, height=800)
    

Weitere Informationen