这个警告是来自PyTorch,提示你在使用 torch.load
加载模型时存在安全风险。具体来说,当 weights_only=False
时,会默认使用 Python 的 pickle 模块,这可能会导致执行不安全的代码,尤其是在加载不可信的数据时。
为了解决这个问题,你可以考虑以下几种方法:
- 设置
weights_only=True
: 如果你只关心加载模型权重而不需要其他信息,可以将weights_only
设置为 True。这是推荐的做法,因为它会限制能够被加载的对象,从而提高安全性。
ckpt = torch.load(file, map_location="cpu", weights_only=True)
信任文件来源: 如果你完全信任要加载的模型文件,那么可以继续使用当前的方式,但请注意潜在的风险。最好避免从不可信或未知来源下载模型。
更新 PyTorch 版本: 随着 PyTorch 的更新,该功能可能会进一步完善。确保你的环境中使用的是最新版本的 PyTorch,以便获得最新的安全和功能增强。
阅读文档: 根据警告中的链接,了解有关如何处理 untrusted models 的更多信息,以及如何使用
torch.serialization.add_safe_globals
来允许特定对象。
总之,为了保证代码运行的安全性,建议尽早适应新的参数设置。
内容由零声教学AI助手提供,问题来源于学员提问