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.
Privates Repository für Laufzeitabhängigkeiten
Mit Hilfe von Befehlen oder Skripten können Sie vor der Ausführung in Ihrer Jobumgebung einen Abhängigkeitsmanager wie Pip oder Conda konfigurieren. Um eine Netzwerkisolierung zu erreichen, verwenden Sie eine dieser Optionen, um Ihre Abhängigkeitsmanager so umzuleiten, dass sie auf Ihre privaten Repositorys zugreifen und Remote-Funktionen innerhalb eines VPC ausführen. Die Befehle oder das Skript vor der Ausführung werden ausgeführt, bevor Ihre Remote-Funktion ausgeführt wird. Sie können sie mit dem @remote -Dekorator RemoteExecutor
API, dem oder in einer Konfigurationsdatei definieren.
In den folgenden Abschnitten erfahren Sie, wie Sie auf ein privates Python Package Index (PyPI) -Repository zugreifen, das verwaltet wird mit AWS CodeArtifact. In den Abschnitten wird auch gezeigt, wie Sie auf einen benutzerdefinierten Conda-Kanal zugreifen, der auf Amazon Simple Storage Service (Amazon S3) gehostet wird.
So verwenden Sie ein benutzerdefiniertes PyPI-Repository, das mit verwaltet wird AWS CodeArtifact
Für CodeArtifact die Verwaltung eines benutzerdefinierten PyPI-Repositorys sind die folgenden Voraussetzungen erforderlich:
-
Ihr privates PyPI-Repository sollte bereits erstellt worden sein. Sie können Folgendes nutzen AWS CodeArtifact um Ihre privaten Paket-Repositorys zu erstellen und zu verwalten. Weitere Informationen CodeArtifact dazu finden Sie im CodeArtifact Benutzerhandbuch.
-
Sie VPC sollten Zugriff auf Ihr CodeArtifact Repository haben. Um eine Verbindung von Ihrem VPC zu Ihrem CodeArtifact Repository zuzulassen, müssen Sie wie folgt vorgehen:
-
Erstellen Sie einen Amazon S3 S3-Gateway-Endpunkt für IhrenVPC, der es ermöglicht, Paketressourcen CodeArtifact zu speichern.
Das folgende Beispiel für einen Befehl vor der Ausführung zeigt, wie Sie Pip im SageMaker Trainingsjob so konfigurieren, dass es auf Ihr CodeArtifact Repository verweist. Weitere Informationen finden Sie unter Pip konfigurieren und verwenden mit. CodeArtifact
# use a requirements.txt file to import dependencies @remote( instance_type="
ml.m5.large
" image_uri = "my_base_python:latest
", dependencies = './requirements.txt', pre_execution_commands=[ "aws codeartifact login --tool pip --domainmy-org
--domain-owner <000000000000
> --repositorymy-codeartifact-python-repo
--endpoint-urlhttps://vpce-xxxxx.api.codeartifact.us-east-1.vpce.amazonaws.com
" ] ) def matrix_multiply(a, b): return np.matmul(a, b)
So verwenden Sie einen benutzerdefinierten Conda-Channel, der auf Amazon S3 gehostet wird
Für die Verwaltung eines benutzerdefinierten Conda-Repositorys mit Hilfe von Amazon S3 bestehen die folgenden Voraussetzungen:
-
Ihr privater Conda-Kanal muss bereits in Ihrem Amazon-S3-Bucket eingerichtet sein, und alle abhängigen Pakete müssen indexiert und in Ihren Amazon-S3-Bucket hochgeladen werden. Anweisungen zur Indexierung Ihrer Conda-Pakete finden Sie unter Benutzerdefinierte Kanäle erstellen
. -
Sie VPC sollten Zugriff auf den Amazon S3 S3-Bucket haben. Weitere Informationen finden Sie unter Endpunkte für Amazon S3.
-
In der Conda-Basisumgebung in Ihrem Job-Image sollte
boto3
installiert sein. Um Ihre Umgebung zu überprüfen, geben Sie Folgendes in Ihre Anaconda-Eingabeaufforderung ein, um zu überprüfen, ob in der resultierenden generierten Listeboto3
erscheint.conda list -n base
-
Ihr Job-Image sollte mit Conda installiert werden, nicht mit Mamba
. Um Ihre Umgebung zu überprüfen, achten Sie darauf, dass die vorangehende Code-Eingabeaufforderung nicht mamba
zurückgibt.
Das folgende Beispiel für Vorausführungsbefehle zeigt, wie Sie Conda im SageMaker Trainingsjob so konfigurieren, dass es auf Ihren privaten Channel auf Amazon S3 verweist. Die Pre-Execution-Befehle entfernen den Standardkanal und fügen benutzerdefinierte Kanäle zu einer .condarc
Conda-Konfigurationsdatei hinzu.
# specify your dependencies inside a conda yaml file @remote( instance_type="
ml.m5.large
" image_uri = "my_base_python:latest
", dependencies = "./environment.yml", pre_execution_commands=[ "conda config --remove channels 'defaults'" "conda config --add channels 's3://my_bucket/my-conda-repository/conda-forge/'", "conda config --add channels 's3://my_bucket/my-conda-repository/main/'" ] ) def matrix_multiply(a, b): return np.matmul(a, b)