训练技巧之数据集太多,加载太慢怎么办?
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
1. 背景
训练集全是16x16,32x32之类的小图,达到上千万张,训练时发现数据加载很慢很慢很慢!!!看了下CPU 内存 GPU使用情况,发现CPU使用率都跑到90%去了,GPU使用率却较低
2. 解决方法
2.1 预处理提速
- 尽量减少每次读取数据时的预处理操作,可以考虑把一些固定的操作,例如 resize ,事先处理好保存下来,训练的时候直接拿来用
- Linux上将预处理搬到GPU上加速:
NVIDIA/DALI :https://github.com/NVIDIA/DALI
2.2 IO提速
2.2.1 使用更快的图片处理
- opencv 一般要比 PIL 要快
- 对于 jpeg 读取,可以尝试 jpeg4py
- 存 bmp 图(降低解码时间)
2.2.2 小图拼起来存放(降低读取次数)
对于大规模的小文件读取,建议转成单独的文件,可以选择的格式可以考虑:TFRecord(Tensorflow)、recordIO(recordIO)、hdf5、 pth、n5、lmdb 等等
2.3 预读取数据
预读取下一次迭代需要的数据, 参考给pytorch 读取数据加速
2.4 借助内存
直接载到内存里面,或者把把内存映射成磁盘好了,参考如何给你PyTorch里的Dataloader打鸡血
2.5 借助固态
把读取速度慢的机械硬盘换成 NVME 固态吧~
3. 最后
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献6条内容
所有评论(0)