2

我正在通过以下方式加载torchscript模型:

model = torch.jit.load("model.pt").to(device)

该模型的子模块被标识为RecursiveScriptModule。我想微调上传的权重,以使其更简单并将它们torch.float32转换为最好将所有这些东西转换为普通的 PyTorch nn.Module

在官方文档https://pytorch.org/docs/stable/jit.html中,它被告知如何转换nn.Moduletorchscript,但我没有找到任何相反方向的示例。有没有办法做到这一点?

PS这里给出加载模型预训练模型的示例: https ://github.com/openai/CLIP/blob/main/notebooks/Interacting_with_CLIP.ipynb

4

1 回答 1

1

您可以尝试按原样加载它,例如state_dict = torch.load(src).state_dict(). 然后手动转换每个 key 和 value new_v = state_dict[k].cpu().float()

于 2021-07-24T23:56:58.063 回答