关于Amazon Sagemaker Neo编译模型中推理脚本的帮助

0

【以下的问题经过翻译处理】 大家好,我正在尝试执行文档中提到的示例 - https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_neo_compilation_jobs/pytorch_torchvision/pytorch_torchvision_neo.html。我成功地运行了这个例子,但是当我将目标设备更改为jetson_tx2后,我再次运行整个脚本时,保持其余代码不变,模型就停止工作了。我没有从部署模型中获得任何推理,它始终出现以下错误消息:

An error occurred (ModelError) when calling the InvokeEndpoint operation: Received server error (0) from <users-sagemaker-endpoint> with message "Your invocation timed out while waiting for a response from container model. Review the latency metrics for each container in Amazon CloudWatch, resolve the issue, and try again."                

根据故障排查文档 https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-inference.html,这似乎是model_fn()函数的问题。使用此示例的推断脚本在此处 https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_neo_compilation_jobs/pytorch_torchvision/code/resnet18.py,其中自己不包含任何model_fn()定义,但它仍适用于目标设备ml_c5。因此,有谁可以回答以下问题:

  1. 根据target_device类型,SageMaker Neo对模型进行了哪些更改?因为看起来同一模型以不同的方式加载到不同的目标设备中。
  2. 是否有任何方法来确定模型如何预期为特定的target_device类型加载,以便我可以在上面提到的相同推断脚本中自定义model_fn()函数?
  3. 最后,谁能帮忙处理一下上面文档中提到的相同模型的推理脚本,该脚本也适用于jetson_tx2设备。 关于如何解决这个问题的任何建议或链接都会非常有帮助。
profile picture
EXPERTE
gefragt vor 8 Monaten31 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 正如你所提到的,你已经将Neo的编译目标从ml_c5更改为jetson_tx2,编译后的模型需要在jetson_tx2上运行。如果你的其他代码没有改变,该模型将被部署到一个不支持Nvidia Jeston的ml.c5.9xlarge EC2实例上。

由于Jestion是Nvidia GPU结构的设备,而c5只配备CPU,因此无法加载该模型并将出现错误。没有CUDA环境。

如果您以jeston_tx2为目标编译模型,您应该下载模型并在真正的Nvidia Jeston设备上运行编译的模型。

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen