机器学习推理疑难解答 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

机器学习推理疑难解答

使用本节中的故障排除信息和解决方案帮助解决机器学习组件的问题。对于公共机器学习推断组件,您可以在以下组件日志中看到错误消息:

  • /greengrass/v2/logs/aws.greengrass.DLRImageClassification.log

  • /greengrass/v2/logs/aws.greengrass.DLRObjectDetection.log

  • /greengrass/v2/logs/aws.greengrass.TensorFlowLiteImageClassification.log

  • /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log

如果组件安装正确,则组件日志将包含用于推理的库的位置。

无法获取库

当安装程序脚本无法在 Raspberry Pi 设备上部署期间下载所需的库时,会出现以下错误。

Err:2 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u1 404 Not Found [IP: 93.93.128.193 80] E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/p/python3.7/libpython3.7-dev_3.7.3-2+deb10u1_armhf.deb 404 Not Found [IP: 93.93.128.193 80]

运行sudo apt-get update,然后再次部署您的组件。

无法打开共享对象文件

当安装程序脚本无法下载所需的依赖关系时,您可能会看到类似于以下内容的错误opencv-python在 Raspberry Pi 设备上部署过程中。

ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory

运行以下命令来手动安装opencv-python

sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev

<library> 未找到

以下错误表明运行时组件无法正确设置虚拟环境:

  • cv2 not found

  • dlr not found

  • numpy not found

检查日志以确保所有运行时依赖项都已正确安装。有关安装脚本安装的库的更多信息,请参阅以下主题:

未检测到支持 CUDA 的设备

使用 GPU 加速时,您可能会看到以下错误。运行以下命令以启用 Greengrass 用户的 GPU 访问。

sudo usermod -a -G video ggc_user

没有这样的文件或目录

以下错误表明运行时组件无法正确设置虚拟环境:

  • MLRootPath/greengrass_ml_dlr_conda/bin/conda: No such file or directory

  • MLRootPath/greengrass_ml_dlr_venv/bin/activate: No such file or directory

  • MLRootPath/greengrass_ml_tflite_conda/bin/conda: No such file or directory

  • MLRootPath/greengrass_ml_tflite_venv/bin/activate: No such file or directory

检查日志以确保所有运行时依赖项都已正确安装。有关安装脚本安装的库的更多信息,请参阅以下主题:

默认值MLROOT 路径设置为/greengrass/v2/work/component-name/greengrass_ml. 要更改此位置,请包含DLR或者TensorFlow 精简版本运行时组件,并为MLRootPath参数在配置合并更新中。有关配置组件的更多信息,请参阅更新组件配置.

注意

对于 DLR 组件 v1.3.x,您可以将MLRootPath参数,默认值为$HOME/greengrass_ml.

Memory 错误

当设备没有足够的内存并且组件进程中断时,通常会发生以下错误。

  • stderr. Killed.

  • exitCode=137

我们建议至少使用 500 MB 的内存来部署公共机器学习推理组件。

磁盘空间错误

这些区域有:no space left on device错误通常发生在设备没有足够的存储空间时。检查设备上可用的磁盘空间,并确保您有足够的空间,然后再次部署组件。我们建议至少有 500 MB 的可用磁盘空间来部署公共机器学习推理组件。

超时错误

公共机器学习组件下载大于 200 MB 的大型机器学习模型文件。如果在部署期间下载超时,请检查 Internet 连接速度并重试部署。