在AWS Lambda中使用Pytorch时出现错误-"无法导入模块'lambda_function':没有名为'torch._C'的模块"。

5

我正在尝试在AWS Lambda中使用PyTorch,但一直遇到这个错误。 我正在使用arn:aws:lambda:us-east-1:934676248949:layer:pytorchv1-py36:2作为PyTorch的层, 以下是我的处理程序函数。

import unzip_requirements
import torch



def lambda_handler(event, context):
    
    return "Hello"

在这个函数中,我只导入了torch,但是它却给我出现了这个错误。

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'torch._C'",
  "errorType": "Runtime.ImportModuleError"
}

与之不直接相关,但可能有助于您的用例:torchlambda(免责声明:我是作者)。 上述方法很可能已经很长时间没有维护了。 - Szymon Maszke
你最终解决了这个问题吗?我很想知道。 - bumpbump
请问您能解决这个问题吗?我已经卡在这里将近一周了。@shivkhaira - Sillians
遇到类似的问题 https://github.com/zappa/Zappa/issues/1220 有什么建议吗? - Aameer
2个回答

0
确保您的 AWS Lambda 运行时和容器(使用层时)或 EC2 实例(从 EC2 安装到 EFS 时)使用相同的 Python 版本。
PyTorch C 扩展是针对特定的 Python 版本进行编译的,不一致会导致您遇到的错误。

面对一个看起来类似的问题 https://github.com/zappa/Zappa/issues/1220。@Jean-Baptiste 有什么建议吗? - Aameer

0

尝试一下:

导入unzip_requirements except ImportError: pass

尝试这个,它可以通过._C依赖项。


目前你的回答写得不太清楚。请编辑并添加更多细节,以帮助其他人理解这如何回答所提出的问题。您可以在帮助中心找到有关编写好答案的更多信息。 - Emanuel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接