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

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

解决 Amparlla 错误

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

  • 使用支持的框架的训练模型 SageMaker 新

  • 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,请参阅支持的框架.

设置配置文件

配置文件提供了 Amberlla 工具链编译模型所需的信息。配置文件必须保存为 JSON 文件,文件的名称必须以*config.json. 下图显示配置文件的内容。

密钥 描述 示例

inputs

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

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

“数据”

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

“数据”

形状

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

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

文件路径

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

“文件路径”:“calib_data/”

颜色格式

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

“颜色格式”: “RGB”

意思

要从输入中减去的平均值。可以是单个值或值列表。当以列表形式给出均值时,条目数必须与输入的通道维度匹配。

“意思” :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] } } }

校准映像

通过提供校准图像来量化训练过的模型。量化模型可提高 CvFlow 引擎在安巴雷拉芯片系统 (SoC) 上的性能。Amberlla 工具链使用校准图像来确定如何量化模型中的每个图层以实现最佳性能和准确性。每个图层都按照 INT8 或 INT16 格式独立量化。量化后,最终模型混合了 INT8 和 INT16 层。

你应该使用多少张图片?

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

推荐的图片格式是什么?

校准图像可以是原始二进制格式,也可以是 JPG 和 PNG 等图像格式。

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

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

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

平均值和规模

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