pig不会cv 2022-12-05 20:37 采纳率: 0%
浏览 16

如何用ImageNet预训练模型分类自己的数据集?

如何用ImageNet预训练模型分类自己的数据集?

img


如图,我自己设计了一个模型,用ImageNet进行预训练(类别为1000),训练好的参数被保存在pkl文件中。我想把这个参数用来分类另一个数据集(类别为10),当我把pkl文件载入后,报了如图所示的错误。请问应该如何修改呢?而且分类不同,又该怎么改呢?

以下为载入时的代码

model = Micro()
train_loader, val_loader = prepare_dataloader(train, trn_idx,val_idx, data_root=train_root)
model = torch.nn .DataParallel ( model ).cuda( )
model.load_state_dict({k.replace( ' module.' ,'' ) :v for k,v in torch. load( ' predicet/checkpoint_99_epoch.pkl ' ).items( )})//checkpoint_99_epoch.pkl 为预训练好的参数
mode1. load_state_dict(checkpoint)


  • 写回答

1条回答 默认 最新

  • haoyunbaobel猪猪版 2022-12-05 20:50
    关注

    ImageNet预训练最后的分类层是1000个类别的,你用在10类别上只需要加一个nn.Linear(1000,10)的线性投射层就行

    评论

报告相同问题?

问题事件

  • 创建了问题 12月5日

悬赏问题

  • ¥15 grbl复位后,移动会触发报警Alarm 1
  • ¥15 grbl为何无法移动到比复位坐标更小的坐标?
  • ¥15 pspice找元件和一个问题
  • ¥60 怎样隐藏win7系统进程?
  • ¥15 CBF预处理数据归一化的时候报错了如下图
  • ¥15 qt 转 msvc 后 Opencv 始终打不开视频!
  • ¥15 国赛c题2021,没有理解这一串代码的意思,这样报错该怎么解决(语言-matlab)
  • ¥15 一、执行完中断程序后如何继续运行,二、中断结束后如何跳过中断触发前的点位(LOW点不要继续运行,可以运行UP点)(关键词-程序运行)
  • ¥15 if为什么跳过if 直接执行else 中文
  • ¥200 解决登录微信老版本限制封号问题