

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.

# Stellen Sie ein kompiliertes Modell mithilfe des SDK SageMaker bereit
<a name="neo-deployment-hosting-services-sdk"></a>

Sie müssen den Abschnitt mit den [Voraussetzungen](https://docs.aws.amazon.com//sagemaker/latest/dg/neo-deployment-hosting-services-prerequisites) erfüllen, wenn das Modell mit AWS SDK für Python (Boto3) AWS CLI, oder der Amazon SageMaker AI-Konsole kompiliert wurde. Folgen Sie einem der folgenden Anwendungsfälle, um ein mit SageMaker Neo kompiliertes Modell bereitzustellen, das auf der Art und Weise basiert, wie Sie Ihr Modell kompiliert haben.

**Topics**
+ [Wenn Sie Ihr Modell mit dem SageMaker SDK kompiliert haben](#neo-deployment-hosting-services-sdk-deploy-sm-sdk)
+ [Wenn Sie Ihr Modell mit MXNet oder kompiliert haben PyTorch](#neo-deployment-hosting-services-sdk-deploy-sm-boto3)
+ [Wenn Sie Ihr Modell mit Boto3, der SageMaker Konsole oder der CLI für kompiliert haben TensorFlow](#neo-deployment-hosting-services-sdk-deploy-sm-boto3-tensorflow)

## Wenn Sie Ihr Modell mit dem SageMaker SDK kompiliert haben
<a name="neo-deployment-hosting-services-sdk-deploy-sm-sdk"></a>

Das Objekthandle [sagemaker.Model](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html?highlight=sagemaker.Model) für das kompilierte Modell liefert die Funktion [deploy()](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html?highlight=sagemaker.Model#sagemaker.model.Model.deploy), mit der Sie einen Endpunkt für Inferenzanforderungen erstellen können. Die Funktion ermöglicht es Ihnen, die Anzahl der Instances und Instance-Typen festzulegen, die für den Endpunkt verwendet werden. Sie müssen eine Instance wählen, für die Sie Ihr Modell kompiliert haben. In dem Job, der im Abschnitt [Compile a Model (Amazon SageMaker SDK) kompiliert](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-job-compilation-sagemaker-sdk.html) wurde, ist dies beispielsweise`ml_c5`. 

```
predictor = compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.c5.4xlarge')

# Print the name of newly created endpoint
print(predictor.endpoint_name)
```

## Wenn Sie Ihr Modell mit MXNet oder kompiliert haben PyTorch
<a name="neo-deployment-hosting-services-sdk-deploy-sm-boto3"></a>

Erstellen Sie das SageMaker KI-Modell und stellen Sie es mithilfe der deploy () -API unter dem Framework-spezifischen Modell bereit. APIs Denn MXNet es ist [MXNetModel](https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/sagemaker.mxnet.html?highlight=MXNetModel#mxnet-model) und für ist PyTorch es. [ PyTorchModel](https://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/sagemaker.pytorch.html?highlight=PyTorchModel#sagemaker.pytorch.model.PyTorchModel) Wenn Sie ein SageMaker KI-Modell erstellen und bereitstellen, müssen Sie die `MMS_DEFAULT_RESPONSE_TIMEOUT` Umgebungsvariable auf festlegen `500` und den `entry_point` Parameter als Inferenzskript (`inference.py`) und den `source_dir` Parameter als Verzeichnispfad (`code`) des Inferenzskripts angeben. Um das Inferenzskript (`inference.py`) vorzubereiten, folgen Sie dem Schritt Voraussetzungen. 

Das folgende Beispiel zeigt, wie Sie diese Funktionen verwenden, um ein kompiliertes Modell mithilfe des SageMaker AI SDK für Python bereitzustellen: 

------
#### [ MXNet ]

```
from sagemaker.mxnet import MXNetModel

# Create SageMaker model and deploy an endpoint
sm_mxnet_compiled_model = MXNetModel(
    model_data='insert S3 path of compiled MXNet model archive',
    role='AmazonSageMaker-ExecutionRole',
    entry_point='inference.py',
    source_dir='code',
    framework_version='1.8.0',
    py_version='py3',
    image_uri='insert appropriate ECR Image URI for MXNet',
    env={'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'},
)

# Replace the example instance_type below to your preferred instance_type
predictor = sm_mxnet_compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.p3.2xlarge')

# Print the name of newly created endpoint
print(predictor.endpoint_name)
```

------
#### [ PyTorch 1.4 and Older ]

```
from sagemaker.pytorch import PyTorchModel

# Create SageMaker model and deploy an endpoint
sm_pytorch_compiled_model = PyTorchModel(
    model_data='insert S3 path of compiled PyTorch model archive',
    role='AmazonSageMaker-ExecutionRole',
    entry_point='inference.py',
    source_dir='code',
    framework_version='1.4.0',
    py_version='py3',
    image_uri='insert appropriate ECR Image URI for PyTorch',
    env={'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'},
)

# Replace the example instance_type below to your preferred instance_type
predictor = sm_pytorch_compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.p3.2xlarge')

# Print the name of newly created endpoint
print(predictor.endpoint_name)
```

------
#### [ PyTorch 1.5 and Newer ]

```
from sagemaker.pytorch import PyTorchModel

# Create SageMaker model and deploy an endpoint
sm_pytorch_compiled_model = PyTorchModel(
    model_data='insert S3 path of compiled PyTorch model archive',
    role='AmazonSageMaker-ExecutionRole',
    entry_point='inference.py',
    source_dir='code',
    framework_version='1.5',
    py_version='py3',
    image_uri='insert appropriate ECR Image URI for PyTorch',
)

# Replace the example instance_type below to your preferred instance_type
predictor = sm_pytorch_compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.p3.2xlarge')

# Print the name of newly created endpoint
print(predictor.endpoint_name)
```

------

**Anmerkung**  
Die Richtlinien `AmazonSageMakerFullAccess` und `AmazonS3ReadOnlyAccess` müssen der `AmazonSageMaker-ExecutionRole` IAM-Rolle zugeordnet werden. 

## Wenn Sie Ihr Modell mit Boto3, der SageMaker Konsole oder der CLI für kompiliert haben TensorFlow
<a name="neo-deployment-hosting-services-sdk-deploy-sm-boto3-tensorflow"></a>

Konstruieren Sie ein `TensorFlowModel` Objekt und rufen Sie anschließend deploy auf: 

```
role='AmazonSageMaker-ExecutionRole'
model_path='S3 path for model file'
framework_image='inference container arn'
tf_model = TensorFlowModel(model_data=model_path,
                framework_version='1.15.3',
                role=role, 
                image_uri=framework_image)
instance_type='ml.c5.xlarge'
predictor = tf_model.deploy(instance_type=instance_type,
                    initial_instance_count=1)
```

Weitere Informationen finden Sie unter [Direktes Deployment aus Modellartefakten](https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/deploying_tensorflow_serving.html#deploying-directly-from-model-artifacts). 

Sie können aus [dieser Liste](https://docs.aws.amazon.com//sagemaker/latest/dg/neo-deployment-hosting-services-container-images.html) einen Amazon ECR-URI für ein Docker-Image auswählen, der Ihren Anforderungen entspricht. 

[Weitere Informationen zum Konstruieren eines `TensorFlowModel` Objekts finden Sie im SageMaker SDK.](https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/sagemaker.tensorflow.html#tensorflow-serving-model) 

**Anmerkung**  
Ihre erste Inferenzanforderung kann eine hohe Latenz haben, wenn Sie Ihr Modell auf einer GPU bereitstellen. Dies liegt daran, dass bei der ersten Inferenzanforderung ein optimierter Rechenkern erstellt wird. Wir empfehlen Ihnen, eine Aufwärmdatei mit Inferenzanfragen zu erstellen und diese zusammen mit Ihrer Modelldatei zu speichern, bevor Sie sie an ein TFX senden. Dies wird als „Aufwärmen“ des Modells bezeichnet. 

Der folgende Codeausschnitt zeigt im Abschnitt mit den [Voraussetzungen](https://docs.aws.amazon.com//sagemaker/latest/dg/neo-deployment-hosting-services-prerequisites), wie die Aufwärmdatei für die Bildklassifizierung erstellt wird: 

```
import tensorflow as tf
from tensorflow_serving.apis import classification_pb2
from tensorflow_serving.apis import inference_pb2
from tensorflow_serving.apis import model_pb2
from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_log_pb2
from tensorflow_serving.apis import regression_pb2
import numpy as np

with tf.python_io.TFRecordWriter("tf_serving_warmup_requests") as writer:       
    img = np.random.uniform(0, 1, size=[224, 224, 3]).astype(np.float32)
    img = np.expand_dims(img, axis=0)
    test_data = np.repeat(img, 1, axis=0)
    request = predict_pb2.PredictRequest()
    request.model_spec.name = 'compiled_models'
    request.model_spec.signature_name = 'serving_default'
    request.inputs['Placeholder:0'].CopyFrom(tf.compat.v1.make_tensor_proto(test_data, shape=test_data.shape, dtype=tf.float32))
    log = prediction_log_pb2.PredictionLog(
    predict_log=prediction_log_pb2.PredictLog(request=request))
    writer.write(log.SerializeToString())
```

Weitere Informationen darüber, wie Sie Ihr Modell „aufwärmen“ können, finden Sie auf der [TensorFlow TFX-Seite](https://www.tensorflow.org/tfx/serving/saved_model_warmup).