答:JIT(Just-In-Time)是一组编译工具,用于弥合PyTorch研究与生产之间的差距。它允许创建可以在不依赖Python解释器的情况下运行的模型,并且可以更积极地进行优化。
答:在已有PyTorch的Python模型(基类为torch.nn.Module)的情况下,通过torch.jit.trace得到;traced_model=torch.jit.trace(python_model, torch.rand(input_shape)),然后再用traced_model.save(‘jit.pt’)保存下来。注意在trace前,加载PyTorch的源模型时,使用map_location参数:torch.load(python_model, map_location = ‘cpu’)。
答:BMNETP暂时不支持带有控制流操作(如if语句或循环)的JIT模型,但torch.jit.script可以产生这类模型,而torch.jit.trace却不可以,仅跟踪和记录张量上的操作,不会记录任何控制流操作。