So führt Amazon SageMaker Processing Ihr Prozesscontainer-Image aus - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So führt Amazon SageMaker Processing Ihr Prozesscontainer-Image aus

Amazon SageMaker Processing führt Ihr Verarbeitungscontainer-Image auf ähnliche Weise wie den folgenden Befehl aus, wobei AppSpecification.ImageUri es sich um den Amazon ECR-Image-URI handelt, den Sie in einem CreateProcessingJob Vorgang angeben.

docker run [AppSpecification.ImageUri]

Mit diesem Befehl wird der im Docker-Image konfigurierte ENTRYPOINT-Befehl ausgeführt.

Sie können auch den Eintrittspunktbefehl im Image überschreiben oder ihm Befehlszeilenargumente mit den Parametern AppSpecification.ContainerEntrypoint und AppSpecification.ContainerArgument in Ihrer CreateProcessingJob-Anforderung übergeben. Durch die Angabe dieser Parameter wird Amazon SageMaker Processing so konfiguriert, dass der Container ähnlich wie der folgende Befehl ausgeführt wird.

docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]

Wenn Sie beispielsweise angeben, dass [python3, -v, /processing_script.py] in Ihrer CreateProcessingJob Anfrage sein und ContainerArguments sein sein[data-format, csv], führt Amazon SageMaker Processing Ihren Container mit dem folgenden Befehl aus. ContainerEntrypoint

python3 -v /processing_script.py data-format csv

Beachten Sie beim Erstellen Ihres Verarbeitungscontainers die folgenden Details:

  • Amazon SageMaker Processing entscheidet je nach Exit-Code der Befehlsausführung, ob der Job abgeschlossen wird oder fehlschlägt. Ein Verarbeitungsauftrag wird ausgeführt, wenn alle Verarbeitungscontainer erfolgreich mit dem Beendigungscode 0 beendet werden, und schlägt fehl, wenn einer der Container mit einem Beendigungscode ungleich Null beendet wird.

  • Mit Amazon SageMaker Processing können Sie den Einstiegspunkt des Verarbeitungscontainers überschreiben und Befehlszeilenargumente festlegen, genau wie Sie es mit der Docker-API tun können. Docker-Images können die Eintrittspunkt und die Befehlszeilenargumente auch unter Verwendung des ENTRYPOINT und der CMD-Anweisungen konfigurieren. Die Art und Weise, wie die Parameter ContainerEntrypoint und ContainerArgument des CreateProcessingJob den Eintrittspunkt und die Argumente eines Docker-Image konfigurieren, spiegelt wider, wie Docker den Eintrittspunkt und die Argumente über die Docker-API überschreibt:

    • Wenn weder ContainerEntrypoint noch ContainerArguments angegeben werden, verwendet Processing den Standard ENTRYPOINT oder CMD im image.

    • Wenn ContainerEntrypoint angegeben wird, aber nicht ContainerArguments, führt die Verarbeitung das Bild mit dem angegebenen Eintrittspunkt aus und ignoriert ENTRYPOINT und CMD im Bild.

    • Wenn ContainerArguments, aber nicht ContainerEntrypoint angegeben wird, führt Processing das Abbild mit dem Standard-ENTRYPOINT im Abbild und mit den angegebenen Argumenten aus.

    • Wenn sowohl ContainerEntrypoint als auch ContainerArguments angegeben sind, führt die Verarbeitung das Bild mit dem angegebenen Eintrittspunkt und den Argumenten aus und ignoriert ENTRYPOINT und CMD im Bild.

  • Sie müssen die exec-Form der ENTRYPOINT-Anweisung in Ihrem Dockerfile verwenden (ENTRYPOINT ["executable", "param1", "param2"]) anstelle der Shell-Form (ENTRYPOINT command param1 param2). Dadurch kann Ihr Verarbeitungscontainer – SIGINTund SIGKILL-Signale empfangen, die von der Verarbeitung zum Stoppen von Verarbeitungsaufträgen über die StopProcessingJob-API verwendet werden.

  • /opt/mlund all seine Unterverzeichnisse sind von AI reserviert. SageMaker Wenn Sie Ihr Processing-Docker-Image erstellen, sollten Sie keine Daten, die für Ihren Processing-Container erforderlich sind, in diesen Verzeichnissen ablegen.

  • Wenn Sie GPU-Geräte verwenden möchten, stellen Sie sicher, dass Ihre Container nvidia-docker-kompatibel sind. Fügen Sie nur das CUDA-Toolkit in die Container ein. Bündeln Sie NVIDIA-Treiber nicht mit dem Abbild. Mehr Informationen über nvidia-docker finden Sie unter NVIDIA/nvidia-docker.