预训练权重加载

在加载预训练权重的时候,有部分代码需要进行进一步的更改,可以采取以下的方式:

        # 创建模型
        model = create_model(num_classes=args.num_classes)
        weights_dict = torch.load(args.weights, map_location=device)
        # 删除最后一层的分类层权重(classifier层)
        del weights_dict['classifier.1.weight']
        del weights_dict['classifier.1.bias']

        model.load_state_dict(weights_dict, strict=False)
        model.to(device)
  # 加载预训练权重
         if args.weights:
             print(f"Loading weights from {args.weights}")
             weights_dict = torch.load(args.weights, map_location=device)
        #     # 删除与当前模型不匹配的权重(例如分类头)
        #     # del_keys = ['classifier.3.weight', 'classifier.3.bias']#MobileNetv3
             del_keys = [' classifier.1.weight', 'classifier.1.bias']
             for key in del_keys:
                 if key in weights_dict:
                     del weights_dict[key]
        #     # 加载剩余的权重
             missing_keys, unexpected_keys = model.load_state_dict(weights_dict, strict=False)
             print(f"Missing keys: {missing_keys}")
             print(f"Unexpected keys: {unexpected_keys}")
        # # 将模型移动到设备
         model.to(device)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Make_magic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值