有没有办法在pytorch中压缩NN

bf1o4zei  于 2023-01-09  发布在  其他
关注(0)|答案(2)|浏览(117)

假设我有一个torch.nn.Module的训练模型,并且从现在开始我只需要它来进行评估,那么PyTorch是通过所有层传递数据,还是压缩模型以便它只计算一个等价的函数?
如果没有,是否有一种方法可以使计算速度更快,模型在内存方面更轻?
我一直在网上寻找类似的问题,并没有找到任何合适的答案。

i1icjdpr

i1icjdpr1#

在推理过程中应该做两件事:使用model.eval()将模型设置为评估模式,然后使用no_grad()(禁用梯度计算)。这将使代码更快,内存效率更高。
实际上这看起来像

model.eval() 
with torch.no_grad(): 
    #your inference code here
xzabzqsa

xzabzqsa2#

有许多选项,这取决于您的具体情况。
一个选项是转换为TorchScript
另一个选项是对模型执行quantization
第三,您可以执行知识提炼,将知识从现有模型转移到更小的模型中。

相关问题