1. 使用预训练的模型初始化网络的一部分参数
# 1. 本地加载预训练模型
pretrained_dict = torch.load(weights_path)
# 或:url加载方式
pretrained_dict = torch.utils.model_zoo.load_url(weights_url)
# 2. 获取网络的state_dict
model_dict = model.state_dict()
# 3. 创建新的state_dict
new_state_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# 4. 加载新的state_dict
model.load_state_dict(new_state_dict)
2. 调用.cuda()非常慢
解决方案:采用source安装或者pip安装,不要用conda安装
参考自:
[1] https://github.com/pytorch/pytorch/issues/537
[2] https://discuss.pytorch.org/t/model-cuda-takes-long-time/102/11
本文介绍如何使用PyTorch加载预训练模型,并详细解释了四个步骤:加载预训练权重、获取模型状态字典、创建新状态字典及加载新状态字典。此外,针对调用.cuda()缓慢的问题提供了有效的解决方案。
1575

被折叠的 条评论
为什么被折叠?



