

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

# 错误排查
<a name="neo-troubleshooting"></a>

此部分包含的信息介绍如何了解和预防常见错误，这些错误所生成的错误消息，以及如何解决这些错误的指南。在继续之前，请问自己以下问题：

 **在部署模型之前是否遇到过错误？** 如果遇到过，请参阅[对 Neo 编译错误进行问题排查](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html)。

 **在编译模型之后是否遇到过错误？** 如果遇到过，请参阅[对 Neo 推理错误进行问题排查](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-inference.html)。

**您在尝试为 Ambarella 设备编译模型时是否遇到过错误？** 如果遇到过，请参阅 [排查 Ambarella 错误](neo-troubleshooting-target-devices-ambarella.md)。

## 错误分类类型
<a name="neo-error-messages"></a>

此列表对您可能从 Neo 收到的*用户错误* 进行了分类。这包括各个所支持框架的访问和权限错误以及加载错误。所有其他错误为*系统错误*。

### 客户端权限错误
<a name="neo-error-client-permission"></a>

 Neo 直接传递来自相关服务的这些错误。
+ 调用 st@@ *s 时访问被拒绝*：AssumeRole
+ 调用 Amazon S3 以下载或上传客户端模型时的*任何 400 错误*。
+ *PassRole*错误

### 加载错误
<a name="collapsible-section-2"></a>

假设 Neo 编译器从 Amazon S3 成功加载了 .tar.gz，请检查 tarball 是否包含编译所必需的文件。检查标准特定于框架：
+ **TensorFlow**: 只需要使用 protobuf 文件（\*.pb 或 \*.pbtxt）。对于保存的模型，需要一个变量文件夹。
+ **Pytorch**：仅需要一个 pytorch 文件 (\*.pth)。
+ **MXNET**：仅需要一个符号文件 (\*.json) 和一个参数文件 (\*.params)。
+ **XGBoost**: 预计只有一个 XGBoost 模型文件 (\*.model)。输入模型有大小限制。

### 编译错误
<a name="neo-error-compilation"></a>

假设 Neo 编译器成功从 Amazon S3 加载了 .tar.gz，并且 tarball 包含编译所必需的文件。检查标准是：
+ **OperatorNotImplemented**: 尚未实现运算符。
+ **OperatorAttributeNotImplemented**: 指定运算符中的属性尚未实现。
+ **OperatorAttributeRequired**：内部符号图需要属性，但用户输入模型图表中未列出该属性。
+ **OperatorAttributeValueNotValid**: 特定运算符中的属性值无效。

**Topics**
+ [错误分类类型](#neo-error-messages)
+ [对 Neo 编译错误进行问题排查](neo-troubleshooting-compilation.md)
+ [排除 Neo 推理错误](neo-troubleshooting-inference.md)
+ [排查 Ambarella 错误](neo-troubleshooting-target-devices-ambarella.md)