Ambarella 错误问题排查 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Ambarella 错误问题排查

SageMaker Neo 要求模型打包在压缩的 TAR 文件中(*.tar.gz)。Ambarella 设备需要在压缩的 TAR 文件中包含其他文件,然后才能将其发送进行编译。如果要使用 SageMaker Neo 编译 Ambarella 目标的模型,请在压缩的 TAR 文件中包含以下文件:

  • 使用由 SageMaker Neo 支持的框架训练有素的模型

  • JSON 配置文件

  • 校准图像

例如,压缩 TAR 文件的内容应类似于以下示例:

├──amba_config.json ├──calib_data | ├── data1 | ├── data2 | ├── . | ├── . | ├── . | └── data500 └──mobilenet_v1_1.0_0224_frozen.pb

该目录配置如下:

  • amba_config.json:配置文件

  • calib_data: 包含校准图像的文件夹

  • mobilenet_v1_1.0_0224_frozen.pb: 保存为冻结图的 TensorFlow 模型

有关 SageMaker Neo 支持的框架的信息,请参阅支持的框架.

设置配置文件

配置文件提供了 Ambarella 工具链编译模型所需的信息。必须将配置文件另存为 JSON 文件,并且文件名必须以*config.json. 下面的图表显示配置文件的内容。

密钥 描述 示例

inputs

字典将输入图层映射到属性。

{inputs:{"data":{...},"data1":{...}}}

“数据”

输入图层名称。注意:“data” 是可用于标注输入图层的名称示例。

“数据”

Shape

描述模型输入的形状。这遵循了 SageMaker Neo 使用的相同约定。

“形状”:“1,2,224,224”

文件路径

包含校准图像的目录的相对路径。这些文件可以是二进制文件或图像文件,如 JPG 或 PNG。

“文件路径”:“数据/”

颜色格式

模型期望的颜色格式。这将在将图像转换为二进制文件时使用。支持的值:[RGB,BGR]。默认值为 RGB。

“颜色格式”: “RGB”

Mean

要从输入中减去的平均值。可以是单个值或值列表。当均值作为列表给出时,条目数必须与输入的通道尺寸相匹配。

“平均值”:128.0

小数位数

用于标准化输入的缩放值。可以是单个值或值列表。当刻度以列表形式给出时,条目数必须与输入的通道尺寸相匹配。

“规模”:255.0

下面是示例配置文件:

{ "inputs": { "data": { "shape": "1, 3, 224, 224", "filepath": "calib_data/", "colorformat": "RGB", "mean":[128,128,128], "scale":[128.0,128.0,128.0] } } }

校准图像

通过提供校准图像来量化训练有素的模型。量化模型可提高安巴雷拉芯片系统 (SoC) 上 CVFlow 引擎的性能。Ambarella 工具链使用校准图像来确定应如何量化模型中的每个层以获得最佳性能和精度。每个图层都被单独量化为 INT8 或 INT16 格式。最终模型在量化后混合了 INT8 和 INT16 层。

您应该使用多少张图片?

建议您包括代表模型预期处理的场景类型的 100—200 个图像。模型编译时间线性增加到输入文件中校准图像的数量。

推荐的图像格式是什么?

校准图像可以采用原始二进制格式或图像格式,如 JPG 和 PNG。

您的校准文件夹可以包含图像和二进制文件的混合。如果校准文件夹同时包含图像和二进制文件,则工具链将首先将图像转换为二进制文件。一旦转换完成,它将使用新生成的二进制文件以及最初位于该文件夹中的二进制文件。

我可以先将图像转换为二进制格式吗?

是。您可以使用开源软件包将图像转换为二进制格式,例如OpenCV或者PIL. 裁剪图像并调整图像大小,使其满足训练模型的输入图层。

平均值和缩放

您可以为 Aberalla 工具链指定均值和缩放预处理选项。这些操作嵌入到网络中,并在对每个输入进行推断时应用。如果您指定了均值或比例,则不要提供处理的数据。更具体地说,请勿提供已从中减去平均值或已对其应用了缩放的数据。