model.state_dict()、model.parameters()和model.named_parameters()的区别

parameters()只包含模块的参数,即weight和bias(包括BN的)。
named_parameters()返回包含模块名和模块的参数的列表,列表的每个元素均是包含layer name和layer param的元组。layer param就是parameters()的内容。
state_dict()返回包含模块整个状态的字典,除model.parameters()外,还包括model.buffer()如running_mean、running_var等BN相关参数。保存参数时需保存state_dict()。
值得注意的是,model.state_dict()所存储的模型参数tensor的require_grad都是False,而model.named_parameters()模型参数中的require_grad属性都是True。

加载模型

model=ResNet()

model.load_state_dict(torch.load('ckpt.pth')) 

Pytorch内存管理

查看tensor内存状态:tensor.storage()
查看tensor间是否共享内存:id(tensor1.storage()) == id(tensor2.storage())
查看tensor元首素相对于storage地址的偏移量:tensor.storage_offset()
查看tenso

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部