如何从pytorch模型并行化模型预测?

我有一个PyTorch实例分割模型,可以逐一预测图像的蒙版。有什么方法可以并行化此任务,以便可以更快地完成它。我尝试使用多处理pool.apply_async()来调用通过所需参数进行预测的方法,但是这给我带来分割错误。任何帮助深表感谢。谢谢。

tgbbhu 回答:如何从pytorch模型并行化模型预测?

通常,您应该能够使用torch.stack将多个图像堆叠在一起,然后将其提供给模型。不过,我不能肯定地说不看您的模型。 (即,如果您的模型是一次显式处理一个图像,则此操作将无效)

model = ... # Load your model

input1 = torch.randn(3,32,32)  # An RGB input image
input2 = torch.randn(3,32)  # An RGB input image 

model_input = torch.stack((input1,input2))
print(model_input.shape)         # (2,3,32)

result = model(model_input)
print(result.shape)              # (2,1,32) 2 output masks,one for each image

如果您自己训练了模型,这将看起来很熟悉,因为从本质上讲,这是我们在训练期间将一批图像馈送到网络的方式。

您可以堆叠两个以上,通常受可用GPU内存量的限制。

本文链接:https://www.f2er.com/3115386.html

大家都在问