【发布时间】:2020-10-24 10:16:17
【问题描述】:
我在 PyTorch 中使用简单的对象检测模型,并使用 Pytoch 模型进行推理。
当我在代码上使用简单的迭代器时
for k, image_path in enumerate(image_list):
image = imgproc.loadImage(image_path)
print(image.shape)
with torch.no_grad():
y, feature = net(x)
result = image.cuda()
它打印我们可变大小的图像,例如
torch.Size([1, 3, 384, 320])
torch.Size([1, 3, 704, 1024])
torch.Size([1, 3, 1280, 1280])
因此,当我使用 DataLoader 使用批处理推理应用相同的转换时,代码不会运行。 但是,当我将所有图像的大小调整为 600.600 时,批处理会成功运行。
我有两个疑问,
首先为什么 Pytorch 能够在深度学习模型中输入动态大小的输入,以及为什么动态大小的输入在批处理中失败。
【问题讨论】:
标签: python machine-learning deep-learning computer-vision pytorch