pytorch 的dataload开辟线程需要消耗时间,但是是我们的数据量太少(每次只有一到两张图片),开辟线程反而会降低整个流程的性能。解决方案:适当的开辟线程或者不开辟线程,如方法1。或者直接不用dataload方法,如方法2.
#方法1:
inputs = torch.utils.data.DataLoader(
DataLoader('', img_paths, assets.basetransforms),
batch_size=1, shuffle=False, num_workers=0, pin_memory=True
)
#方法2
for i in range(len(img_paths)):
f = open(img_paths[i], 'rb')
img = Image.open(f).convert('RGB')
img = assets.basetransforms(img)
img = img.unsqueeze(0)
inputs.append(img)
f.close()
# inputs = torch.utils.data.DataLoader(
# DataLoader('', img_paths, assets.basetransforms),
# batch_size=1, shuffle=False, num_workers=4, pin_memory=True
# )
参考博客https://blog.youkuaiyun.com/qq_24946843/article/details/95627053