步骤 3:在设备上进行推理 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 3:在设备上进行推理

在本示例中,您将使用 Boto3 将编译作业的输出下载到边缘设备上。然后,您将导入 DLR,从数据集中下载示例图像,调整此图像的大小以匹配模型的原始输入,然后进行预测。

  1. 将您的已编译模型从 下载到Amazon S3您的 设备并从压缩的 tarfile 中提取。

    # 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. 导入 DLR 和已初始化DLRModel的对象。

    import dlr device = 'cpu' model = dlr.DLRModel('./dlr_model', device)
  3. 下载用于引用 的图像,并根据模型训练方式设置其格式。

    例如coco_ssd_mobilenet,您可以从 COCO 数据集下载映像,然后将映像重新转换为 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 进行推理

    最后,您可以使用 DLR 对刚下载的图像进行预测:

    out = model.run(x)

有关使用 DLR 从 边缘设备上的 Neo 编译模型进行推理的更多示例,请参阅 neo-ai-dlr Github 存储库