

终止支持通知：2026 年 10 月 7 日， Amazon 将停止对的支持。 Amazon IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 Amazon IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 Amazon IoT Greengrass Version 1](https://docs.amazonaws.cn/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# ML 对象检测连接器
<a name="obj-detection-connector"></a>

**警告**  <a name="connectors-extended-life-phase-warning"></a>
此连接器已进入*生命周期延长阶段*， Amazon IoT Greengrass 不会发布更新来提供功能、现有功能增强、安全补丁或错误修复。有关更多信息，请参阅 [Amazon IoT Greengrass Version 1 维护政策](maintenance-policy.md)。

ML 对象检测[连接器](connectors.md)提供在 Amazon IoT Greengrass 核心上运行的机器学习 (ML) 推理服务。此本地推理服务使用 SageMaker AI Neo 深度学习编译器编译的对象检测模型执行对象检测。支持两种类型的对象检测模型：Single Shot Multibox Detector（单步多框检测器，SSD）和 You Only Look Once（只用看一遍，YOLO）v3。有关更多信息，请参阅[对象检测模型要求](#obj-detection-connector-req-model)。

 用户定义的 Lambda 函数使用 M Amazon IoT Greengrass achine Learning SDK 向本地推理服务提交推理请求。该服务对输入图像执行本地推理，并针对图像中检测到的每个对象返回预测列表。每个预测都包含一个对象类别、一个预测置信度得分和像素坐标，这些像素坐标指定围绕预测对象的边界框。

Amazon IoT Greengrass 为多个平台提供机器学习对象检测连接器：


| Connector | 描述和 ARN | 
| --- | --- | 
| 机器学习目标检测 Aarch64 JTX2 |  适用于 NVIDIA Jet TX2 son 的物体检测推理服务。支持 GPU 加速。  **ARN**：`arn:aws:greengrass:region::/connectors/ObjectDetectionAarch64JTX2/versions/1`  | 
| ML 对象检测 x86664 |  适用于 x86\$164 平台的对象检测推理服务。  **ARN**：`arn:aws:greengrass:region::/connectors/ObjectDetectionx86-64/versions/1`  | 
| 机器学习对象检测 ARMv7 |   ARMv7 平台对象检测推理服务。  **ARN**：`arn:aws:greengrass:region::/connectors/ObjectDetectionARMv7/versions/1`  | 

## 要求
<a name="obj-detection-connector-req"></a>

这些连接器具有以下要求：
+ Amazon IoT Greengrass 核心软件 v1.9.3 或更高版本。
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python](https://www.python.org/) 版本 3.7 或 3.8 已安装在核心设备上，并已添加到 PATH 环境变量中。
**注意**  <a name="use-runtime-py3.8"></a>
要使用 Python 3.8，请运行以下命令来创建从默认 Python 3.7 安装文件夹到已安装的 Python 3.8 二进制文件的符号链接。  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
这会将设备配置为满足 Amazon IoT Greengrass的 Python 要求。
+ 安装在核心设备上的 SageMaker AI Neo 深度学习运行时的依赖关系。有关更多信息，请参阅 [在 Amazon IoT Greengrass 核心上安装 Neo 深度学习运行时依赖关系](#obj-detection-connector-config)。
+ Greengrass 组中的 [ML 资源](ml-inference.md#ml-resources)。ML 资源必须引用包含对象检测模型的 Amazon S3 存储桶。有关更多信息，请参阅 [Amazon S3 模型来源](ml-inference.md#s3-ml-resources)。
**注意**  
该模型必须是 Single Shot Multibox Detector（单步多框检测器，SSD）或 You Only Look Once（只用看一遍，YOLO）v3 对象检测模型类型。它必须使用 SageMaker AI Neo 深度学习编译器进行编译。有关更多信息，请参阅[对象检测模型要求](#obj-detection-connector-req-model)。
+ <a name="req-image-classification-feedback"></a>添加到 Greengrass 组且已配置的 [ ML 反馈连接器](ml-feedback-connector.md)。仅当您要使用此连接器上传模型输入数据并将预测发布到 MQTT 主题时，这才是必需的。
+ Amazon IoT Greengrass 需要使用 M@@ [achine Learning SDK](lambda-functions.md#lambda-sdks-ml) v1.1.0 才能与此连接器进行交互。

### 对象检测模型要求
<a name="obj-detection-connector-req-model"></a>

ML 对象检测连接器支持单步多框检测器（SSD）和只用看一遍（YOLO）v3 对象检测模型类型。您可以使用 [GluonCV](https://gluon-cv.mxnet.io) 提供的对象检测组件来通过您自己的数据集训练模型。或者，您可以使用 GluonCV Model Zoo 中的预训练模型：
+ [预训练 SSD 模型](https://gluon-cv.mxnet.io/build/examples_detection/demo_ssd.html)
+ [预训练 YOLO v3 模型](https://gluon-cv.mxnet.io/build/examples_detection/demo_yolo.html)

您的对象检测模型必须使用 512 x 512 输入图像进行训练。来自 GluonCV Model Zoo 的预训练模型已经满足了这一要求。

必须使用 SageMaker AI Neo 深度学习编译器编译经过训练的物体检测模型。编译时，请确保目标硬件与您的 Greengrass 核心设备的硬件匹配。有关更多信息，请参阅 [ SageMaker A *mazon 人工智能开发者指南中的 SageMaker AI* Neo](https://docs.amazonaws.cn/sagemaker/latest/dg/neo.html)。

必须将已编译的模型作为 ML 资源（[Amazon S3 模型源](ml-inference.md#s3-ml-resources)）添加到与连接器相同的 Greengrass 组中。

## 连接器参数
<a name="obj-detection-connector-param"></a>

这些连接器提供以下参数。

`MLModelDestinationPath`  
包含 Neo 兼容 ML 模型的 Amazon S3 存储桶的绝对路径。这是为 ML 模型资源指定的目标路径。  
 Amazon IoT 控制台中的显示名称：**模型目标路径**  
必需：`true`  
类型：`string`  
有效模式：`.+`

`MLModelResourceId`  
引用源模型的 ML 资源的 ID。  
在 Amazon IoT 控制台中显示名称：**Greengrass 群组 ML 资源**  
必需：`true`  
类型：`S3MachineLearningModelResource`  
有效模式：`^[a-zA-Z0-9:_-]+$`

`LocalInferenceServiceName`  
本地推理服务的名称。用户定义的 Lambda 函数通过将名称传递给 Machine Learn Amazon IoT Greengrass ing SD `invoke_inference_service` K 的函数来调用服务。有关示例，请参阅[用法示例](#obj-detection-connector-usage)。  
 Amazon IoT 控制台中的显示名称：**本地推理服务**名称  
必需：`true`  
类型：`string`  
有效模式：`^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}$`

`LocalInferenceServiceTimeoutSeconds`  
在推理请求终止之前经过的时间（以秒为单位）。最小值为 1。默认值是 10。  
 Amazon IoT 控制台中的显示名称：**超时（秒）**  
必需：`true`  
类型：`string`  
有效模式：`^[1-9][0-9]*$`

`LocalInferenceServiceMemoryLimitKB`  
该服务有权访问的内存量（以 KB 为单位）。最小值为 1。  
 Amazon IoT 控制台中的显示名称：**内存限制**  
必需：`true`  
类型：`string`  
有效模式：`^[1-9][0-9]*$`

`GPUAcceleration`  <a name="param-image-classification-gpuacceleration"></a>
CPU 或 GPU（加速）计算上下文。此属性仅适用于 ML 图像分类 Aarch64 JTX2 连接器。  
 Amazon IoT 控制台中的显示名称：**GPU 加速**  
必需：`true`  
类型：`string`  
有效值：`CPU` 或 `GPU`

`MLFeedbackConnectorConfigId`  <a name="param-image-classification-feedbackconfigid"></a>
用于上传模型输入数据的反馈配置的 ID。这必须与为 [ML 反馈连接器](ml-feedback-connector.md)定义的反馈配置的 ID 匹配。  
仅当您要使用 ML 反馈连接器上传模型输入数据并将预测发布到 MQTT 主题时，才需要此参数。  
 Amazon IoT 控制台中的显示名称：**ML 反馈连接器配置 ID**  
必需：`false`  
类型：`string`  
有效模式：`^$|^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}$`

### 创建连接器示例 (Amazon CLI)
<a name="obj-detection-connector-create"></a>

以下 CLI 命令创建一个 `ConnectorDefinition`，其初始版本包含 ML 对象检测连接器。此示例创建了 ML 对象检测 ARMv7l 连接器的实例。

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyObjectDetectionConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/ObjectDetectionARMv7/versions/1",
            "Parameters": {
                "MLModelDestinationPath": "/path-to-model",
                "MLModelResourceId": "my-ml-resource",
                "LocalInferenceServiceName": "objectDetection",
                "LocalInferenceServiceTimeoutSeconds": "10",
                "LocalInferenceServiceMemoryLimitKB": "500000",
                "MLFeedbackConnectorConfigId" : "object-detector-random-sampling"
            }
        }
    ]
}'
```

**注意**  
这些连接器中的 Lambda 函数的生命周期[很长](lambda-functions.md#lambda-lifecycle)。

在 Amazon IoT Greengrass 控制台中，您可以从群组的 “连接器” 页面添加**连接器**。有关更多信息，请参阅 [Greengrass 连接器入门（控制台）](connectors-console.md)。

## 输入数据
<a name="obj-detection-connector-data-input"></a>

 这些连接器接受一个图像文件作为输入。输入图像文件必须为 `jpeg` 或 `png` 格式。有关更多信息，请参阅 [用法示例](#obj-detection-connector-usage)。

这些连接器不接受 MQTT 消息作为输入数据。

## 输出数据
<a name="obj-detection-connector-data-output"></a>

 这些连接器返回输入图像中识别的对象的预测结果的格式化列表：

```
     {
         "prediction": [
             [
                 14,
                 0.9384938478469849,
                 0.37763649225234985,
                 0.5110225081443787,
                 0.6697432398796082,
                 0.8544386029243469
             ],
             [
                 14,
                 0.8859519958496094,
                 0,
                 0.43536216020584106,
                 0.3314110040664673,
                 0.9538808465003967
             ],
             [
                 12,
                 0.04128098487854004,
                 0.5976729989051819,
                 0.5747185945510864,
                 0.704264223575592,
                 0.857937216758728
             ],
             ...
         ]
     }
```

列表中的每个预测都包含在方括号中，并包含六个值：
+  第一个值表示已识别对象的预测对象类别。在 Neo 深度学习编译器中训练您的对象检测机器学习模型时，将确定对象类别及其对应的值。
+ 第二个值是对象类别预测的置信度得分。这代表预测正确的可能性。
+ 最后四个值对应于像素尺寸，该像素尺寸表示图像中预测对象周围的边界框。

这些连接器不发布 MQTT 消息来作为输出数据。

## 用法示例
<a name="obj-detection-connector-usage"></a>

以下示例 Lambda 函数使用 [Amazon IoT Greengrass 机器学习软件开发工具包](lambda-functions.md#lambda-sdks-ml)与 ML 对象检测连接器进行交互。

**注意**  
 您可以从 [Amazon IoT Greengrass 机器学习开发工具包](what-is-gg.md#gg-ml-sdk-download)下载页面下载软件开发工具包。

该示例初始化一个开发工具包客户端，并同步调用该开发工具包的 `invoke_inference_service` 函数来调用本地推理服务。它会传入算法类型、服务名称、映像类型和映像内容。然后，该示例会解析服务响应以获取概率结果（预测）。

```
import logging
from threading import Timer

import numpy as np

import greengrass_machine_learning_sdk as ml

# We assume the inference input image is provided as a local file
# to this inference client Lambda function.
with open('/test_img/test.jpg', 'rb') as f:
    content = bytearray(f.read())

client = ml.client('inference')

def infer():
    logging.info('invoking Greengrass ML Inference service')

    try:
        resp = client.invoke_inference_service(
            AlgoType='object-detection',
            ServiceName='objectDetection',
            ContentType='image/jpeg',
            Body=content
        )
    except ml.GreengrassInferenceException as e:
        logging.info('inference exception {}("{}")'.format(e.__class__.__name__, e))
        return
    except ml.GreengrassDependencyException as e:
        logging.info('dependency exception {}("{}")'.format(e.__class__.__name__, e))
        return

    logging.info('resp: {}'.format(resp))
    predictions = resp['Body'].read().decode("utf-8")
    logging.info('predictions: {}'.format(predictions))
    predictions = eval(predictions) 

    # Perform business logic that relies on the predictions.
    
    # Schedule the infer() function to run again in ten second.
    Timer(10, infer).start()
    return

infer()

def function_handler(event, context):
    return
```

Machine Lear Amazon IoT Greengrass ning SDK 中的`invoke_inference_service`函数接受以下参数。


| 参数 | 描述 | 
| --- | --- | 
| `AlgoType` | 要用于推理的算法类型的名称。目前仅支持 `object-detection`。 必需：`true` 类型：`string` 有效值：`object-detection` | 
| `ServiceName` | 本地推理服务的名称。在配置了连接器时，使用为 `LocalInferenceServiceName` 参数指定的名称。 必需：`true` 类型：`string` | 
| `ContentType` | 输入映像的 mime 类型。 必需：`true` 类型：`string` 有效值：`image/jpeg, image/png` | 
| `Body` | 输入映像文件的内容。 必需：`true` 类型：`binary` | 

## 在 Amazon IoT Greengrass 核心上安装 Neo 深度学习运行时依赖关系
<a name="obj-detection-connector-config"></a>

机器学习对象检测连接器与 SageMaker AI Neo 深度学习运行时 (DLR) 捆绑在一起。连接器使用此运行时来处理 ML 模型。要使用这些连接器，必须在核心设备上安装 DLR 的依赖项。

在您安装 DLR 依赖项之前，请确保设备上存在所需的[系统库](#obj-detection-connector-logging)（具有指定的最低版本）。

------
#### [ NVIDIA Jetson TX2 ]

1. 安装 CUDA Toolkit 9.0 和 cuDNN 7.0。您可以按照入门教程中[设置其他设备](setup-filter.other.md)中的说明进行操作。

1. 启用通用存储库，以便连接器可以安装社区维护的开放软件。有关更多信息，请参阅 Ubuntu 文档中的 [Repositories/Ubuntu](https://help.ubuntu.com/community/Repositories/Ubuntu)。

   1. 打开 `/etc/apt/sources.list`文件。

   1. 确保以下各行已取消注释。

      ```
      deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
      deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
      deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
      deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
      ```

1. 将以下安装脚本的副本保存到核心设备上一个名为 `nvidiajtx2.sh` 的文件。

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   echo 'Assuming that universe repos are enabled and checking dependencies...'
   apt-get -y update
   apt-get -y dist-upgrade
   apt-get install -y liblapack3 libopenblas-dev liblapack-dev libatlas-base-dev
   apt-get install -y python3.7 python3.7-dev
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**注意**  
<a name="opencv-build-from-source"></a>如果 [OpenCV](https://github.com/opencv/opencv) 使用此脚本无法成功安装，您可以尝试从源代码进行构建。有关更多信息，请参阅 OpenCV 文档中的[在 Linux 中安装](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html)，或参考您平台的其他在线资源。

1. 从保存文件的目录中，运行以下命令：

   ```
   sudo nvidiajtx2.sh
   ```

------
#### [ x86\$164 (Ubuntu or Amazon Linux)  ]

1. 将以下安装脚本的副本保存到核心设备上一个名为 `x86_64.sh` 的文件。

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   
   release=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
   
   if [ "$release" == '"Ubuntu"' ]; then
     # Ubuntu. Supports EC2 and DeepLens. DeepLens has all the dependencies installed, so
     # this is mostly to prepare dependencies on Ubuntu EC2 instance.
     apt-get -y update
     apt-get -y dist-upgrade
   
     apt-get install -y libgfortran3 libsm6 libxext6 libxrender1
     apt-get install -y python3.7 python3.7-dev
   elif [ "$release" == '"Amazon Linux"' ]; then
     # Amazon Linux. Expect python to be installed already
     yum -y update
     yum -y upgrade
   
     yum install -y compat-gcc-48-libgfortran libSM libXrender libXext
   else
     echo "OS Release not supported: $release"
     exit 1
   fi
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**注意**  
<a name="opencv-build-from-source"></a>如果 [OpenCV](https://github.com/opencv/opencv) 使用此脚本无法成功安装，您可以尝试从源代码进行构建。有关更多信息，请参阅 OpenCV 文档中的[在 Linux 中安装](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html)，或参考您平台的其他在线资源。

1. 从保存文件的目录中，运行以下命令：

   ```
   sudo x86_64.sh
   ```

------
#### [ ARMv7 (Raspberry Pi) ]

1. 将以下安装脚本的副本保存到核心设备上一个名为 `armv7l.sh` 的文件。

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   
   apt-get update
   apt-get -y upgrade
   
   apt-get install -y liblapack3 libopenblas-dev liblapack-dev
   apt-get install -y python3.7 python3.7-dev
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**注意**  
<a name="opencv-build-from-source"></a>如果 [OpenCV](https://github.com/opencv/opencv) 使用此脚本无法成功安装，您可以尝试从源代码进行构建。有关更多信息，请参阅 OpenCV 文档中的[在 Linux 中安装](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html)，或参考您平台的其他在线资源。

1. 从保存文件的目录中，运行以下命令：

   ```
   sudo bash armv7l.sh
   ```
**注意**  
在 Raspberry Pi 上，使用 `pip` 安装机器学习依赖项是一项内存密集型操作，可能会导致设备用尽内存，变得无法响应。解决办法是临时增加交换空间大小。在 `/etc/dphys-swapfile` 中，增加 `CONF_SWAPSIZE` 变量的值，然后运行以下命令重启 `dphys-swapfile`。  

   ```
   /etc/init.d/dphys-swapfile restart
   ```

------

## 日志记录和故障排除
<a name="obj-detection-connector-logging"></a>

根据您的群组设置，事件和错误日志会写入日 CloudWatch 志、本地文件系统或两者兼而有之。此连接器中的日志使用前缀 `LocalInferenceServiceName`。如果连接器出现异常行为，请检查连接器日志。其中经常包含有用的调试信息，例如缺失 ML 库依赖项或连接器启动故障的原因。

如果将 Amazon IoT Greengrass 组配置为写入本地日志，则连接器会将日志文件写入到`greengrass-root/ggc/var/log/user/region/aws/`。有关 Greengrass 日志记录的更多信息，请参阅 [使用 Amazon IoT Greengrass 日志进行监控](greengrass-logs-overview.md)。

可以使用以下信息帮助解决 ML 对象检测连接器问题。

**所需系统库**

以下选项卡列出了每个 ML 对象检测连接器所需的系统库。

------
#### [ ML Object Detection Aarch64 JTX2 ]


| 图书馆 | 最低版本 | 
| --- | --- | 
| ld-linux-aarch64.so.1 | GLIBC\$12.17 | 
| libc.so.6 | GLIBC\$12.17 | 
| libcublas.so.9.0 | 不适用 | 
| libcudart.so.9.0 | 不适用 | 
| libcudnn.so.7 | 不适用 | 
| libcufft.so.9.0 | 不适用 | 
| libcurand.so.9.0 | 不适用 | 
| libcusolver.so.9.0 | 不适用 | 
| libgcc\$1s.so.1 | GCC\$14.2.0 | 
| libgomp.so.1 | GOMP\$14.0，OMP\$11.0 | 
| libm.so.6 | GLIBC\$12.23 | 
| libnvinfer.so.4 | 不适用 | 
| libnvrm\$1gpu.so | 不适用 | 
| libnvrm.so | 不适用 | 
| libnvidia-fatbinaryloader.so.28.2.1 | 不适用 | 
| libnvos.so | 不适用 | 
| libpthread.so.0 | GLIBC\$12.17 | 
| librt.so.1 | GLIBC\$12.17 | 
| libstdc\$1\$1.so.6 | GLIBCXX\$13.4.21，CXXABI\$11.3.8 | 

------
#### [ ML Object Detection x86\$164 ]


| 图书馆 | 最低版本 | 
| --- | --- | 
| ld-linux-x86-64.so.2 | GCC\$14.0.0 | 
| libc.so.6 | GLIBC\$12.4 | 
| libgfortran.so.3 | GFORTRAN\$11.0 | 
| libm.so.6 | GLIBC\$12.23 | 
| libpthread.so.0 | GLIBC\$12.2.5 | 
| librt.so.1 | GLIBC\$12.2.5 | 
| libstdc\$1\$1.so.6 | CXXABI\$11.3.8，GLIBCXX\$13.4.21 | 

------
#### [ ML Object Detection ARMv7 ]


| 图书馆 | 最低版本 | 
| --- | --- | 
| ld-linux-armhf.so.3 | GLIBC\$12.4 | 
| libc.so.6 | GLIBC\$12.7 | 
| libgcc\$1s.so.1 | GCC\$14.0.0 | 
| libgfortran.so.3 | GFORTRAN\$11.0 | 
| libm.so.6 | GLIBC\$12.4 | 
| libpthread.so.0 | GLIBC\$12.4 | 
| librt.so.1 | GLIBC\$12.4 | 
| libstdc\$1\$1.so.6 | CXXABI\$11.3.8，CXXABI\$1ARM\$11.3.3，GLIBCXX\$13.4.20 | 

------

**问题**


| 症状 | 解决方案 | 
| --- | --- | 
|  在 Raspberry Pi 上，记录了以下错误消息，并且您没有使用摄像机：`Failed to initialize libdc1394`  |  运行以下命令以显示驱动程序： <pre>sudo ln /dev/null /dev/raw1394</pre> 此操作是临时的。重新启动后，符号链接消失。请参阅您的操作系统分发手册以了解如何在重启时自动创建链接。  | 

## 许可证
<a name="obj-detection-connector-license"></a>

ML 对象检测连接器包含以下第三方软件/许可：<a name="boto-3-licenses"></a>
+ [适用于 Python (Boto3) 的 Amazon SDK](https://pypi.org/project/boto3/)/Apache 许可证 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache 许可证 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF 许可证
+ [docutils](https://pypi.org/project/docutils/)/BSD 许可证，GNU 通用公共许可证 (GPL)，Python 软件基金会许可证，公共领域
+ [jmespath](https://pypi.org/project/jmespath/)/MIT 许可证
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache 许可证 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT 许可证
+ [深度学习运行时](https://github.com/neo-ai/neo-ai-dlr)/Apache 许可证 2.0
+ <a name="six-license"></a>[six](https://github.com/benjaminp/six)/MIT

该连接器在 [Greengrass Core 软件许可协议](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf)下发布。

## 另请参阅
<a name="obj-detection-connector-see-also"></a>
+ [使用 Greengrass 连接器与服务和协议集成](connectors.md)
+ [Greengrass 连接器入门（控制台）](connectors-console.md)
+ [Greengrass 连接器入门 (CLI)](connectors-cli.md)
+ [执行机器学习推理](ml-inference.md)
+ *Amazon A SageMaker I 开发者指南*中的@@ [对象检测算法](https://docs.amazonaws.cn/sagemaker/latest/dg/object-detection.html)