Wie behebe ich Probleme, wenn ich meinen benutzerdefinierten Container zu Amazon SageMaker Studio bringe?

Letzte Aktualisierung: 11.11.2022

Ich möchte Probleme beim Erstellen eines benutzerdefinierten Amazon SageMaker Studio beheben.

Lösung

Ein SageMaker-Image ist eine Datei, die Kernel, Sprachpakete und andere Abhängigkeiten identifiziert, die zum Ausführen eines Jupyter Notebooks in SageMaker Studio erforderlich sind. Diese Images werden verwendet, um eine Umgebung zu erstellen, in der Sie Ihre Jupyter-Notebooks ausführen können. Wenn die von SageMaker bereitgestellten integrierten Images Ihren Anwendungsfall nicht unterstützen, können Sie ein benutzerdefiniertes Image zur Verwendung in SageMaker Studio verwenden.

Möglicherweise erhalten Sie Fehler, wenn Sie Ihr Kunden-Image in SageMaker Studio verwenden. Diese Fehler können hauptsächlich auf eine falsche Konfiguration zurückzuführen sein, die Sie während der Erstellung des Container-Images eingerichtet haben. Stellen Sie daher sicher, dass das benutzerdefinierte Image mit SageMaker Studio kompatibel ist.

Überprüfen Sie dazu Folgendes, wenn Sie die Dockerfile erstellen:

  • Sie haben die Werte DefaultUid und DefaultGid genau festgelegt. SageMaker Studio unterstützt nur eine bestimmte Kombination aus DefaultUID und DefaultGid. Stellen Sie sicher, dass DefaultUid und DefaultGid für einen nicht privilegierten Benutzer auf 1 000 bzw. 100 festgelegt sind. Stellen Sie sicher, dass beide Werte für den Root-Benutzer auf 0 gesetzt sind.
  • Die Verzeichnisse „opt/.sagemakerinternal“ und „opt/ml“ werden nicht verwendet. Diese Verzeichnisse sind reserviert.
  • Wenn Sie die Konfigurationsdatei app-image-config-input.json erstellen, stellen Sie sicher, dass der Name-Wert für KernelSpec in dieser Datei mit dem Wert Name für das verknüpfte Image übereinstimmt.

Die Beispiel-Dockerfile,die das Python-Pakete installiert und den Geltungsbereich auf nicht privilegierte Benutzer festlegt:

FROM public.ecr.aws/amazonlinux/amazonlinux:2

ARG NB_USER="sagemaker-user"
ARG NB_UID="1000"
ARG NB_GID="100"

RUN \
    yum install --assumeyes python3 shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all && \
    python3 -m pip install ipykernel && \
    python3 -m ipykernel install

USER ${NB_UID}

Sie können die Fehlermeldungen in Amazon-CloudWatch-Protokollen anzeigen, wenn einer der folgenden Fälle eintritt:

  • Erstellung der Image-Version schlägt fehl.
  • Beim Starten des Images in SageMaker Studio wird eine Fehlermeldung angezeigt.

Sie finden diese Meldungen in der Protokollgruppe /aws/sagemaker/studio und im Protokollstream $domainID/$userProfileName/kernelGateway/$appName.

Hinweis: In diesem Artikel wird davon ausgegangen, dass dem AWS Identity and Access Management (IAM)-Benutzer oder -Rolle die AmazonSageMakerFullAccess-Richtlinie angefügt ist.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?