

Sagemaker Python SDK ist eine Open -Source -Bibliothek zum Training und Bereitstellen von Modellen für maschinelles Lernen bei Amazon Sagemaker.
Mit dem SDK können Sie Modelle mit beliebten Deep Learning Frameworks Apache MXNET und TensorFlow trainieren und bereitstellen. Sie können auch Modelle mit Amazon -Algorithmen trainieren und bereitstellen, bei denen es sich um skalierbare Implementierungen von Kernalgorithmen für maschinelles Lernen handelt, die für Sagemaker- und GPU -Schulungen optimiert sind. Wenn Sie Ihre eigenen Algorithmen in Sagemaker -kompatiblen Docker -Containern integriert haben, können Sie diese auch mit diesen ausbilden und aufweisen.
Eine detaillierte Dokumentation einschließlich der API -Referenz finden Sie unter Lesen der Dokumente.
Der Sagemaker Python SDK ist für PYPI gebaut, und die neueste Version des Sagemakers Python SDK kann wie folgt mit PIP installiert werden
PIP Installieren Sie Sagemaker == <
Sie können von der Quelle installieren, indem Sie dieses Repository klonieren und einen PIP -Installationsbefehl im Stammverzeichnis des Repositorys ausführen:
Git Clone https://github.com/aws/sagemaker-python-sdk.git CD Sagemaker-Python-SDK PIP -Installation.
Sagemaker Python SDK unterstützt Unix/Linux und Mac.
Sagemaker Python SDK wird getestet auf:
Die sagemaker -Bibliothek hat die Telemetrie ermöglicht, um die Benutzerbedürfnisse besser zu verstehen, Probleme zu diagnostizieren und neue Funktionen zu liefern. Diese Telemetrie verfolgt die Verwendung verschiedener Sagemaker -Funktionen.
Wenn Sie es vorziehen, die Telemetrie zu entscheiden, können Sie dies problemlos tun, indem Sie den Parameter TelemetryOptOut in der SDK -Standardkonfiguration auf true einstellen. Ausführliche Anweisungen finden Sie unter Konfigurieren und Verwenden von Standardeinstellungen mit dem Sagemaker Python SDK.
Als verwalteter Dienst führt Amazon Sagemaker Operationen in Ihrem Namen über die AWS -Hardware durch, die von Amazon Sagemaker verwaltet wird. Amazon Sagemaker kann nur Vorgänge ausführen, die der Benutzer erlaubt. Sie können mehr darüber lesen, welche Berechtigungen in der AWS -Dokumentation erforderlich sind.
Der Sagemaker Python SDK sollte neben dem, was für die Verwendung von Sagemaker erforderlich ist, keine zusätzlichen Berechtigungen benötigen. Wenn Sie jedoch eine IAM -Rolle mit einem Pfad verwenden, sollten Sie die Erlaubnis für iam:GetRole erteilen.
Sagemaker Python SDK ist unter der Apache 2.0 -Lizenz lizenziert. Es ist Copyright Amazon.com, Inc. oder seine verbundenen Unternehmen. Alle Rechte vorbehalten. Die Lizenz ist unter: http://aws.amazon.com/apache2.0/ verfügbar
Sagemaker Python SDK hat Unit -Tests und Integrationstests.
Sie können die Bibliotheken installieren, die zum Ausführen der Tests benötigt werden, indem Sie pip install --upgrade .[test] ausführen pip install --upgrade .[test]
Unit -Tests
Wir führen Unit -Tests mit Tox durch, ein Programm, mit dem Sie Unit -Tests für mehrere Python -Versionen ausführen können, und stellen auch sicher, dass der Code zu unseren Stilrichtlinien passt. Wir führen Tox mit all unseren unterstützten Python -Versionen aus. Um Unit -Tests mit derselben Konfiguration auszuführen, die wir durchführen, müssen Sie Dolmetscher für die installierten Python -Versionen haben.
Um die Unit -Tests mit Tox auszuführen, rennen Sie:
Toxtests/Einheit
Integrationstests
Um die Integrationstests durchzuführen, müssen die folgenden Voraussetzungen erfüllt sein
SageMakerRole . Es sollte die AmazonsAgemaker -Access -Richtlinie sowie eine Richtlinie mit den erforderlichen Berechtigungen zur Verwendung elastischer Inferenz beigefügt sein.aws ecr create-repository --repository-name remote-function-dummy-containerWir empfehlen, nur die Integrationstests auszuführen, die Sie ausführen möchten. Sie können nach einzelnen Testfunktionsnamen mit:
tox --k 'test_i_care_about'
Sie können auch alle Integrationstests ausführen, indem Sie den folgenden Befehl ausführen, der sie nacheinander ausführt, was möglicherweise eine Weile dauern kann:
Tox - Tests/Integ
Sie können sie auch parallel ausführen:
Tox --n Auto -Tests/Integen
Führen Sie diese Befehle im Repository -Verzeichnis aus, um alle Git -Haken im Verzeichnis. Githooks zu aktivieren:
find .git/Hooks -Typ l -exec rm {} ;
find .githooks -type f -exec ln -sf ../../ {} .git/Hooks/;
Um einen einzelnen Git -Haken zu aktivieren, bewegen Sie ihn einfach aus dem .githooks/ Verzeichnis in die .git/ haken/ verzeichnet.
Richten Sie eine Python -Umgebung ein und installieren Sie die in doc/requirements.txt aufgeführten Abhängigkeiten:
# Conda Conda Create -n Sagemaker Python = 3,7 Conda aktivieren Sagemaker conda install sphinx = 3.1.1 sphinx_rtd_theme = 0.5.0 # PIP PIP Installation -r doc/requires.txt
Klonen/Fork das Repo und installieren Sie Ihre lokale Version:
PIP -Installation -Upgrade.
Dann cd in das sagemaker-python-sdk/doc Verzeichnis und rennen Sie:
HTML machen
Sie können die Vorlagen für eine der Seiten in den Dokumenten bearbeiten, indem Sie die .rst -Dateien im doc -Verzeichnis bearbeiten und dann wieder ausführen. make html erneut.
Vorschau der Website mit einem Python -Webserver:
CD _build/html Python -m http.server 8000
Sehen Sie sich die Website an, indem Sie http: // localhost: 8000 besuchen
Mit Sagemaker Sparkml Serving können Sie jetzt Vorhersagen gegen ein SparkML -Modell in Sagemaker durchführen. Um ein SparkML -Modell in Sagemaker zu veranstalten, sollte es mit MLeap -Bibliothek serialisiert werden.
Weitere Informationen zu Mleap finden Sie unter https://github.com/combust/mleap.
Unterstützte Hauptversion von Spark: 3.3 (Mleap -Version - 0.20.0)
Hier finden Sie ein Beispiel, wie Sie eine Instanz der SparkMLModel -Klasse erstellen und die Methode deploy() verwenden, um einen Endpunkt zu erstellen, mit dem Vorhersage gegen Ihr geschultes SparkML -Modell durchgeführt werden kann.
sparkml_model = SparkMLModel ( model_data = 's3://path/to/model.tar.gz' , env = { 'SAGEMAKER_SPARKML_SCHEMA' : schema })
model_name = 'sparkml-model'
endpoint_name = 'sparkml-endpoint'
predictor = sparkml_model . deploy ( initial_instance_count = 1 , instance_type = 'ml.c4.xlarge' , endpoint_name = endpoint_name ) Sobald das Modell bereitgestellt ist, können wir den Endpunkt mit einer CSV -Nutzlast wie folgt aufrufen:
payload = 'field_1,field_2,field_3,field_4,field_5'
predictor . predict ( payload ) Weitere Informationen über die verschiedenen content-type sowie über die Struktur des schema , das Sagemaker Sparkml Serving erkennt, finden Sie Accept Sagemaker Sparkml Serving Container.