Faites des déductions sur votre appareil - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Faites des déductions sur votre appareil

Dans cet exemple, vous allez utiliser Boto3 pour télécharger la sortie de votre tâche de compilation sur votre appareil en périphérie. Vous allez ensuite importerDLR, télécharger un exemple d'images à partir du jeu de données, redimensionner cette image pour qu'elle corresponde à l'entrée d'origine du modèle, puis vous ferez une prédiction.

  1. Téléchargez votre modèle compilé depuis Amazon S3 sur votre périphérique et extrayez-le du fichier tarfile compressé.

    # Download compiled model locally to edge device object_path = f'output/{model_name}-{target_device}.tar.gz' neo_compiled_model = f'compiled-{model_name}.tar.gz' s3_client.download_file(bucket_name, object_path, neo_compiled_model) # Extract model from .tar.gz so DLR can use it !mkdir ./dlr_model # make a directory to store your model (optional) !tar -xzvf ./compiled-detect.tar.gz --directory ./dlr_model
  2. Importation DLR et DLRModel objet initialisé.

    import dlr device = 'cpu' model = dlr.DLRModel('./dlr_model', device)
  3. Téléchargez une image pour l'inférence et formatez-la en fonction de la façon dont votre modèle a été entraîné.

    coco_ssd_mobilenetPar exemple, vous pouvez télécharger une image depuis le COCOjeu de données, puis reformer l'image pour 300x300 :

    from PIL import Image # Download an image for model to make a prediction input_image_filename = './input_image.jpg' !curl https://farm9.staticflickr.com/8325/8077197378_79efb4805e_z.jpg --output {input_image_filename} # Format image so model can make predictions resized_image = image.resize((300, 300)) # Model is quantized, so convert the image to uint8 x = np.array(resized_image).astype('uint8')
  4. DLRÀ utiliser pour faire des déductions.

    Enfin, vous pouvez utiliser DLR pour faire une prédiction sur l'image que vous venez de télécharger :

    out = model.run(x)

Pour d'autres exemples d'utilisation DLR d'inférences à partir d'un modèle compilé Neo sur un périphérique périphérique, consultez le référentiel neo-ai-dlr Github.