pytorch 读取和保存模型参数


只保存参数信息

加载

checkpoint = torch.load(opt.resume)
model.load_state_dict(checkpoint)

保存

torch.save(self.state_dict(),file_path)

这而只保存了参数信息,读取时也只有参数信息,模型结构需要手动编写

保存整个模型

保存
torch.save(the_model, PATH)

加载:
the_model = torch.load(PATH)


有时候会看到加载时

model.load_state_dict(checkpoint['state_dic'])

这是因为checkpoint是一个字典,保存的key可以自己定义。
可以保存除参数信息之外的其它信息,如epoch等。

保存

torch.save({
        'epoch': epoch + 1,
        'arch': args.arch,
        'state_dict': model.state_dict(),
        'best_prec1': best_prec1,
    }, 'checkpoint.tar' )

加载

if args.resume:
    if os.path.isfile(args.resume):
        print("=> loading checkpoint '{}'".format(args.resume))
        checkpoint = torch.load(args.resume)
        args.start_epoch = checkpoint['epoch']
        best_prec1 = checkpoint['best_prec1']
        model.load_state_dict(checkpoint['state_dict']) print("=> loaded checkpoint '{}' (epoch {})"
              .format(args.evaluate, checkpoint['epoch']))

state_dict参考链接:

https://www.cnblogs.com/tingtin/p/13544489.html

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM