6 python opencv python-imaging-library pytorch
我注意到很多数据加载器使用 PIL 来加载和转换图像,例如 torchvision.datasets.folder 中的数据集构建器。
我的问题是:为什么要使用 PIL?在将其转换为张量之前,您需要执行 np.asarray 操作。OpenCV 似乎直接将它加载为一个 numpy 数组,而且速度也更快。
我能想到的一个原因是因为 PIL 有一个丰富的转换库,但我觉得其中几个转换可以快速实现。
有一个关于在 torchvision PR 中添加 OpenCV 作为可能的后端之一的讨论。
总之,提供了一些原因:
functional转换中的代码重复torchvision,其中许多使用 PIL 操作(因为支持多个后端的转换会非常复杂)np.array,在数组上进行转换并不容易说实话,我没有看到太多的运动朝着这个想法存在albumentations它使用了OpenCV,可与PyTorch而平滑集成。
有点题外话,但可以通过torchvision.set_image_backend英特尔的accimage. 此外枕SIMD可以作为一个下拉更换为PIL(它理应更快,建议fastai项目)。
当谈到性能基准时,它们似乎不太可靠,而且告诉 AFAIK 并不容易。
| 归档时间: |
|
| 查看次数: |
1135 次 |
| 最近记录: |