http://zh.d2l.ai/chapter_computational-performance/hybridize.html
在 10.1.3.1 中,为什么有 torchscript 比无 torchscript 花的时间要更长呢(
实际运行有 torchscript 更快,torchscript 在多GPU下加速效果应该会更明显
文中显示的用法 obj = torch.jit.script(obj) 适用于nn.Module或者继承自nn.Module的class,对于function,一般是@注释,即 @torch.jit.script
@应该是装饰器的意思,不是注释
和数学中的符号运算类似,不经加快了速度也加快了精度。相当于原来是走一步看一步,现在是一步走完
为什么我在resnet里面加了一行“net = torch.jit.script(net)”会报错呢
net = nn.Sequential(b1, b2, b3, b4, b5,
nn.AdaptiveAvgPool2d((1,1)),
nn.Flatten(), nn.Linear(512, 10))
net = torch.jit.script(net)
net = get_net()
with Benchmark('无torchscript'):
for i in range(100000): net(x)
net = torch.jit.script(net)
with Benchmark('有torchscript'):
for i in range(100000): net(x)
无torchscript: 36.3626 sec
有torchscript: 31.0889 sec```