xxx.pth或者xxx.pt is a zip archive(did you mean to use torch.jit.load()?问题解决
提示:推荐使用方法三,不会“科学上网”的请关注微信公众号“DGX杂学”并在后台私信!
错误:使用torch.load()加载模型参数时,提示“xxx.pt is a zip archive(did you mean to use torch.jit.load()?)“或者“xxx.pth is a zip archive(did you mean to use torch.jit.load()?)“
错误原因:
xxx.pth或者xxx.pt来自pytorch1.6或更高的版本。1.6之后pytorch默认使用zip文件格式来保存权重文件,导致这些权重文件无法直接被1.5及以下的pytorch加载。
解决方式:
方法一:升级pytorch版本
直接把自己的pytorch升级到pytorch1.6或者更高的版本。
方法二:用别人的电脑把权重文件改成非zip格式
如果自己不想升级或者自己电脑不支持pytorch更高版本,可以找身边pytorch高于1.6的人帮忙把权重文件改为非zip格式,改好后替换掉原来的权重文件问题就解决了。
代码:
import torch
state_dict = torch.load("xxx.pth")#xxx.pth或者xxx.pt就是你想改掉的权重文件
torch.save(state_dict, "xxx.pth", _use_new_zipfile_serialization=False)
方法三:用Google colab 把权重文件改为非zip格式(作者所用,推荐)
对于电脑不支持或者不想升级更高版本的人和借不到电脑的人(作者就是),怎么办呢?
答案:使用Google colab(要科学上网才可以用
) 这个免费的平台来把权重文件改为非zip格式。colab本身就装有高版本的pytorch和cuda,所以我们主要把权重文件上传上去并运行方法二中的代码就是ok了,转换完后下载就行。
import torch
state_dict = torch.load("xxx.pth")#xxx.pth或者xxx.pt就是你想改掉的权重文件
torch.save(state_dict, "xxx.pth", _use_new_zipfile_serialization=False)
使用colab改有两种方法:
方法一:直接上传权重文件(推荐!)
- 打开colab后直接上传
- 选择权重文件
- 开始修改权重文件
添加方法二中的代码(要改成自己的权重文件名)并运行
- 运行问题解决
遇到以下问题不要慌,因为我们没有设置好这个笔记本
- 问题解决:点击“视图”》“笔记本信息”》“打开笔记本设置”》“选择GPU”》“保存”。
然后重新运行代码。 - 运行结束后刷新文件列表下载文件。
- 把下载下来的权重文件替换掉原来的权重文件,就不会报错了。
方法二:同样是colab方法,权重文件先上传到谷歌云盘再在colab中引用
这种方法不细讲了直接上代码。
- 装载谷歌云盘
from google.colab import drive
# 將自己的云端硬盘装载上去
drive.mount('/content/gdrive')
- 使用%cd切换到权重文件路径
- 运行转换代码(笔记本可以提前设置好GPU)
import torch
state_dict = torch.load("xxx.pth")#xxx.pth或者xxx.pt就是你想改掉的权重文件
torch.save(state_dict, "xxx.pth", _use_new_zipfile_serialization=False)
- 文件下载与保存
以上代码运行完后刷新文件列表,下载权重文件即可。如果你想保存这个修改好后的权重文件到你的谷歌云盘(即同步)。可以使用以下命令:
drive.flush_and_unmount()
xxx.pth或者xxx.pt is a zip archive(did you mean to use torch.jit.load()?问题解决相关推荐
- 【深度学习torch——error】——“xxx.pt is a zip archive(did you mean to use torch.jit.load()?)
这个问题是在进行权重文件加载进行预测的时候发生的,原因其实就是torch版本不对 我是用的工作站训练使用的是torch1.7.0,然后用自己的电脑进行预测,就报错了,原因就是自己的电脑是torch1. ...
- RuntimeError: xxx.pth is a zip archive (did you mean to use torch.jit.load()?)
用高版本的pytorch训练模型,在低版本中测试时出现如下错误: RuntimeError: all_ep_296.pth is a zip archive (did you mean to use ...
- .pth is a zip archive (did you mean to use torch.jit.load()?)
RuntimeError: bert.pth is a zip archive (did you mean to use torch.jit.load()?) .pth is a zip archiv ...
- pytorch版本问题RuntimeError: params/unet.pth is a zip archive (did you mean to use torch.jit.load()?)
pytorch版本问题RuntimeError: params/unet.pth is a zip archive (did you mean to use torch.jit.load()?) 问题 ...
- pytorch加载模型时出现.....ckpt_100.pth is a zip archive (did you mean to use torch.jit.load()?)
在测试加载训练好的模型时出现上方问题,参考这篇文章,原因是训练和测试的torch版本不一致. 训练的时候是1.6,测试的时候是1.2,因此需要先在1.6版本下加载模型,重新保存,在保存的时候设置use ...
- PytorchStreamReader failed reading zip archive: failed finding central directory
网友给的方法: 解决方法1: in 1.7: torch.save(model_.state_dict(), 'model_best_bacc.pth.tar', _use_new_zipfile_s ...
- Zipalign 报错 Unable to open ‘xxx.apk’ as zip archive
Zipalign 报错 Unable to open 'xxx.apk' as zip archive Zipalign 报错 Unable to open 'xxx.apk' as zip arch ...
- [Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)热门干货
点击打开链接 温馨提示 建议你先了解一下上一篇博文([Android L]SEAndroid增强Androd安全性背景概要及带来的影响)所讲的内容,先对SEAndroid窥个全貌,然后再继续 ...
- Could not set property 'xxx' of 'class 'xxx' with value 'xxx'
在使用mybatis框架进行后台数据查询时,控制台报Could not set property 'xxx' of 'class 'xxx' with value 'xxx',看到数据已经查出来了,但 ...
最新文章
- jquery和javascript的区别(转载自脚本之家)
- Padding Oracle Attack填充提示攻击-渗透测试
- CSS精灵图合成工具
- leetcode94. 二叉树的中序遍历(左中右)
- c# 微服务学习_资深架构师学习笔记:什么是微服务?
- Kafka : kafka重启报错 ZkClient allready closed
- centos卸载不必要的程序_新手教程:从Mac上的启动台Launchpad删除应用程序
- n个人看了这个故事之后精神分裂了(ZT)
- C - Copying Books (POJ - 1505)
- 浅析单调递增子序列问题(LIS)
- 基于微信小程序的旧物交易平台(二手交易) 毕设
- 「数字电路系列」博文目录,学习总结
- 智慧工地农民工实名制管理系统
- 制作 macOS Mojave U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
- acm-(dp计数)Educational Codeforces Round 97 (Rated for Div. 2) F. Emotional Fishermen
- JAVA PDF文件转图片
- 出租车捧红嘀嗒?这个似乎是一个谎言
- 小米昨天发布的新机,简直太TM牛了……
- sparkSQL1.1入门
- matlab模糊系统设计 pdf,基于MATLAB的模糊控制系统设计.pdf