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.
Verwenden von EI auf von Amazon SageMaker gehosteten Endpunkten
Um Elastic Inference (EI) in Amazon SageMaker mit einem gehosteten Endpunkt für Echtzeit-Inferenzen zu verwenden, geben Sie einen EI-Accelerator an, wenn Sie das bereitstellbare Modell erstellen, das an diesem Endpunkt gehostet werden soll. Sie können dafür eine der folgenden Möglichkeiten auswählen:
-
Verwenden Sie die Amazon SageMaker Python SDK
-Versionen von TensorFlow, MXNet oder PyTorch und die SageMaker vordefinierten Container für TensorFlow, MXNet und PyTorch -
Erstellen Sie Ihren eigenen Container und verwenden Sie die Low-Level- SageMaker API (Boto 3). Sie müssen die EI-fähige Version von entweder TensorFlow, MXNet oder PyTorch von den bereitgestellten Amazon S3-Speicherorten in Ihren Container importieren und eine dieser Versionen verwenden, um Ihr Trainingsskript zu schreiben.
-
Nutzen Sie den integrierten Bildklassifikation - MXNet- oder Objekterkennung – MXNet-Algorithmus und verwenden Sie AWS SDK for Python (Boto3), um Ihren Schulungsauftrag auszuführen und Ihr bereitstellbares Modell und den gehosteten Endpunkt zu erstellen.
Themen
Verwenden von EI mit einem SageMaker TensorFlow Container
Um TensorFlow mit EI in zu verwenden SageMaker, müssen Sie die deploy
Methode der Objekte Schätzer
SageMaker bietet standardmäßigen Modelltrainings- und Inferenzcode zu Ihrer Bequemlichkeit. Für benutzerdefinierte Dateiformate müssen Sie möglicherweise benutzerdefinierten Modellschulungs- und Inferenz-Code implementieren.
Verwenden eines Schätzfunktion-Objekts
Um ein Schätzfunktion-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Die Schätzfunktion gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie im Beispiel-Code gezeigt.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Verwenden eines Modell-Objekts
Um ein Modell-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Die Schätzfunktion gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie im Beispiel-Code gezeigt.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Verwenden von EI mit einem SageMaker MXNet-Container
Um MXNet mit EI in zu verwenden SageMaker, müssen Sie die deploy
Methode der Objekte Schätzeraccelerator_type
-Eingabeargument an. Informationen zur Verwendung von MXNet im Amazon SageMaker Python SDK
Der Einfachheit halber SageMaker stellt standardmäßigen Modelltrainings- und Inferenzcode bereit. Für benutzerdefinierte Dateiformate müssen Sie möglicherweise benutzerdefinierten Modellschulungs- und Inferenz-Code schreiben.
Verwenden eines Schätzfunktion-Objekts
Um ein Schätzfunktion-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Die Schätzfunktion gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie im Beispiel-Code gezeigt.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Verwenden eines Modell-Objekts
Um ein Modell-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Die Schätzfunktion gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie im Beispiel-Code gezeigt.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Ein vollständiges Beispiel für die Verwendung von EI mit MXNet in SageMakerfinden Sie im Beispiel-Notebook unter https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/mxnet_mnist/mxnet_mnist_elastic_inference .ipynb
Verwenden von EI mit einem SageMaker PyTorch Container
Um PyTorch mit EI in zu verwenden SageMaker, müssen Sie die -deploy
Methode der Schätzeraccelerator_type
-Eingabeargument an. Informationen zur Verwendung von PyTorch im Amazon SageMaker Python SDK
Der Einfachheit halber SageMaker stellt standardmäßigen Modelltrainings- und Inferenzcode bereit. Für benutzerdefinierte Dateiformate müssen Sie möglicherweise benutzerdefinierten Modellschulungs- und Inferenz-Code schreiben.
Verwenden eines Schätzfunktion-Objekts
Um ein Schätzfunktion-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Die Schätzfunktion gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie in diesem Beispiel-Code gezeigt.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Verwenden eines Modell-Objekts
Um ein Modell-Objekt mit EI zu verwenden, wenn Sie die Bereitstellungsmethode nutzen, fügen Sie das accelerator_type
-Eingabeargument ein. Das Modell gibt ein Prognose-Objekt zurück, das wir als seine Bereitstellungsmethode bezeichnen, wie in diesem Beispiel-Code gezeigt.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Verwenden von EI mit Ihrem eigenen Container
Um EI mit einem Modell in einem benutzerdefinierten Container zu verwenden, den Sie erstellen, verwenden Sie das Low-Level-AWSSDK für Python (Boto 3). laden Sie die AWS EI-fähigen Versionen von TensorFlow, Apache MXNet oder PyTorch Machine Learning-Frameworks herunter und importieren Sie sie und schreiben Sie Ihr Trainingsskript mit diesen Frameworks.
Importieren der EI-Version von , TensorFlow MXNet oder PyTorch in Ihren Docker-Container
Um EI mit Ihrem eigenen Container zu verwenden, müssen Sie entweder die Amazon EI TensorFlow Serving-Bibliothek, die Amazon EI Apache MXNet-Bibliothek oder die Elastic Inference-fähige PyTorch Bibliothek in Ihren Container importieren. Die EI-fähigen Versionen von TensorFlow und MXNet sind derzeit als Binärdateien verfügbar, die an Amazon S3-Speicherorten gespeichert sind. Sie können die EI-fähige Binärdatei für TensorFlow aus dem Amazon S3-Bucket unter console.aws.amazon.com/s3/buckets/amazonei-tensorflow
Erstellen eines EI-Endpunkts mit AWS SDK für Python (Boto 3)
Um einen Endpunkt mithilfe von AWS SDK für Python (Boto 3) zu erstellen, erstellen Sie zunächst eine Endpunktkonfiguration. Die Endpunktkonfiguration legt ein oder mehrere Modelle fest (sogenannte Produktionsvarianten), die Sie am Endpunkt hosten möchten. Um EI an eine oder mehrere Produktionsvarianten, die am Endpunkt gehostet werden, anzufügen, legen Sie einen der EI-Instance-Typen als AcceleratorType
-Feld für diese ProductionVariant
fest. Anschließend übergeben Sie diese Endpunktkonfiguration, wenn Sie den Endpunkt erstellen.
Erstellen einer Endpunktkonfiguration
Um EI zu verwenden, müssen Sie einen Accelerator-Typ in der Endpunktkonfiguration angeben.
# Create Endpoint Configuration from time import gmtime, strftime endpoint_config_name = 'ImageClassificationEndpointConfig-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print(endpoint_config_name) create_endpoint_config_response = sagemaker.create_endpoint_config( EndpointConfigName = endpoint_config_name, ProductionVariants=[{ 'InstanceType':'ml.m4.xlarge', 'InitialInstanceCount':1, 'ModelName':model_name, 'VariantName':'AllTraffic', 'AcceleratorType':'ml.eia2.medium'}]) print("Endpoint Config Arn: " + create_endpoint_config_response['EndpointConfigArn'])
Erstellen eines Endpunkts
Nachdem Sie eine Endpunktkonfiguration mit einem Accelerator-Typ erstellt haben, können Sie einen Endpunkt erstellen.
endpoint_name = 'ImageClassificationEndpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) endpoint_response = sagemaker.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)
Nachdem Sie den Endpunkt erstellt haben, können Sie ihn wie jeden anderen Endpunkt mit der Methode invoke_endpoint
in einem Boto3-Laufzeitobjekt aufrufen.