You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用torch.load加载PyTorch模型时遭遇Pickling/安全错误的求助

使用torch.load加载PyTorch模型时遭遇Pickling/安全错误的求助

各位大佬好!我最近在跑一个签名检测、清洗和验证的端到端项目,尝试加载项目用到的一个PyTorch模型时,碰到了Pickling相关的安全错误,折腾好一阵都没解决,来这儿求助大家!

具体情况是:我按照项目指引下载了对应的模型文件,当我用torch.load()函数加载这个文件时,直接触发了安全相关的报错,提示加载pickle数据存在风险,或者干脆加载失败。我试过直接用默认参数加载,也尝试过指定map_location适配本地设备,但都没解决问题。

我整理了几个自己试过的方向,但还是没头绪,也想问问大家有没有其他思路:

  • 首先怀疑过模型文件是不是下载损坏了,重新下载了一次,但还是报错;
  • 后来查资料知道PyTorch新版本默认开启了安全加载,我试过用torch.load(model_path, weights_only=True)(我用的是PyTorch 2.0+版本),但还是不行;也考虑过用allow_pickle=True,但又担心安全风险,而且不确定是不是这个原因;
  • 我也核对过原项目的PyTorch版本和本地的,虽然有点小差异,但都是2.x系列,应该不至于完全不兼容吧?
  • 另外,会不会是原项目有自定义的模型结构,我加载前没导入对应的类?但我已经把项目的代码都拉下来了,相关文件也导入了,还是没效果。

有没有大佬遇到过类似的问题,或者能给我一些其他的排查建议?麻烦指点一下,万分感谢!

备注:内容来源于stack exchange,提问作者rikyeah

火山引擎 最新活动