Aufrufen eines bildbasierten Modells in SageMaker

In diesem Thema wird anhand eines Beispiels beschrieben, wie ein bildbasiertes Modell in AWS SageMaker aufgerufen und das Eingabebild hochskaliert wird. Beim Hochskalieren von Bildern mit maschinellem Lernen werden in der Regel Deep-Learning-Modelle wie konvolutionale neuronale Netze (CNN) eingesetzt, um die Auflösung oder Qualität von Bildern zu verbessern.

Anmerkung:

Die AWS-Marke und das AWS-Logo sind Marken oder eingetragene Marken von Amazon.com, Inc. und werden nur zu Identifikationszwecken verwendet.

Ein Bild mit niedriger Auflösung wird in ein Bild mit hoher Auflösung umgewandelt, indem das Bild mithilfe von stabiler Diffusion im Amazon AWS SageMaker JumpStart-Modell hochskaliert wird. Die Kodierung des niedrig aufgelösten Bilds erfolgt im Base64-Format und wird dann dem Modell zur Hochskalierung übergeben. In der folgenden Abbildung sehen Sie den Ablauf dieses Hochskalierungsprozesses. Weitere Informationen zum AWS SageMaker JumpStart-Modell finden Sie unter AWS SageMaker InvokeEndpoint JumpStart Upscale Images und AWS SageMaker InvokeEndpoint JumpStart Upscaling. AWS SageMaker Bildkonvertierungsprozess

Prozedur

  1. Klicken Sie im Control Room auf Konfigurieren mit SageMaker-Endpunktermittlung, um die Liste der Endpunkte zu erhalten. AWS: SageMaker-Endpunkt aufrufen
    1. Geben Sie die Anmeldedaten wie unter AWS SageMaker: Aktion „Authentifizierung“ beschrieben ein.
    2. Klicken Sie auf das Dropdown-Menü Region, um eine Region Ihrer AWS-Instanz auszuwählen, aus der Sie die Endpunkte beziehen möchten.
    3. Klicken Sie auf Verbinden.
      Eine Verbindung zu SageMaker wird hergestellt und die in der ausgewählten Region verfügbaren Endpunkte werden aufgelistet.
    4. Klicken Sie auf einen Endpunktnamen, der dem gewünschten Modell entspricht, und klicken Sie auf Auswählen. In diesem Beispiel wird ein bildbasiertes Modell verwendet. Es wird ein bereits vorhandenes und ein vortrainiertes Modell verwendet. Sie können die bereits eingesetzten Modelle anzeigen, indem Sie zu Inferenz > Endpunktenavigieren. Wenn Sie ein Modell Ihrer Wahl bereitstellen möchten, siehe AWS SageMaker Deploy models for inference und zum Trainieren der eingesetzten Modelle, siehe AWS SageMaker Build, Train, and Deploy models for inference. Um weitere Informationen zu den Modellen zu erhalten, klicken Sie auf ein Modell.
    5. Klicken Sie auf Auswählen.
      Der Endpunktname und die Region werden automatisch in den übergeordneten Bildschirm übernommen.
  2. Klicken Sie auf das Dropdown-Menü Inhaltstyp, um den Nutzdatentyp auszuwählen, den Sie eingeben möchten. In diesem Beispiel wählen Sie application/json;jpeg als Nutzdatentyp aus.
  3. Speichern Sie das niedrig aufgelöste Bild in einem Ordner und verwenden Sie die Base64-Konvertierung: Aktion Base64-Kodierung zur Umwandlung des Bildes in einen base64-kodierten Text. Geben Sie den base64-kodierten Text in einem JSON-Format ein, wie im folgenden Beispiel gezeigt:
    {
       "prompt":"a cat",
       "image":encoded_image,
       "num_inference_steps":50,
       "guidance_scale":7.5
    }
    Die Ausgabe der base64-Kodierung wird im kodierten Bild verwendet.
  4. Geben Sie Standard als Sitzungsnamen ein oder speichern Sie die Sitzung in einer Variablen.
  5. Die JSON-Antwort wird in der Variablen str-ImageBasedModelResponse gespeichert.
    Die JSON-Antwort enthält 2 Teile:
    • Generiertes Bild: Der Knoten „Generiertes Bild“ enthält das Binärbild des hochskalierten Bildes.
    • Eingabeaufforderung: Die Eingabeaufforderung. In diesem Beispiel ist das a cat.
  6. Sie können die Ausgabe mithilfe eines Base-64-Decoders in ein Bild konvertieren. In diesem Beispiel-Bot wird jeder JSON-Knoten gelesen und der Wert des Knotens Generiertes Bild: wird an den Decoder übergeben, um das hochskalierte Bild zu erzeugen.