ipython下运行代码出现<module '__main__' (built-in)> is a built-in class错误

在进行模型剪枝时,作者在ipython环境下载入VGG16并修改全连接层以适应数据,训练后保存模型。但在之后加载模型时遇到内置类错误。问题可能源于Python的一个Bug。社区讨论指出,`torch.save`保存了包括网络结构、参数和训练状态等所有信息。解决方案是在加载模型前检查各层的requires_grad属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题是我在做模型剪枝的时候遇到的

  1. 先载入VGG16模型,更改全连接层,使输出单元个数与自己待处理的数据类别个数一致。
  2. 冻住卷积层,只训练全连接层。学习率设为0.0001,momentum=0.9。
  3. 当设定的epoch数目满足的时候,把模型保存,使用命令:
torch.save(model, "./cifar-10/5epochs_cifar10_vgg_model")

4 . 然后在ipython使用以下命令加载模型:

model = torch.load("/home/smiles/tsq/PyTorch/pytorch-pruning/cifar-10/5epochs_cifar10_vgg_model").cuda()

这个时候就出现错误:

<module '__main__' (built-in)> is a built-in class

关于这个问题:网上有很多人遇到。应该是一个Bug。
python社区有关于这个问题的讨论:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值