torchscript保存模型和使用模型

本文介绍了如何使用TorchScript将PyTorch模型保存为三种类型:单变量输入、多个变量输入和分布式训练模型。通过torch.jit.trace方法结合cuda设备,对模型进行trace并保存为model.pt。加载模型则通过torch.jit.load实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

torchscript作为pytorch的模型保留方式

这里主要介绍3种类型:

1.单变量输入

x = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()
script_module = torch.jit.trace(model,x,strict=False)
torch.jit.save(script_module, "model.pt")

2.多个变量作为输入

x1 = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()
x2 = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()
x3 = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()
script_module = torch.jit.trace(model,(x1,x2,x3),strict=False)
torch.jit.save(script_module, "model.pt")

 注意:多个输入的时候,上述的x1,x2,x3是可以任意的,只要使用括号括起来就行。

3.分布式训练的模型保存成torchscript

x = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()
script_module = torch.jit.trace(model.module,x,strict=False)
torch.jit.save(script_module, "model.pt")

没看错,就是加个module就行,这样才是模型,不然是分布式的数据结构 

至此,常用的保存为torchscript就介绍到这里

至于加载模型也很简单

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值