如何使用GPU进行数据增强处理
训练过程中观察到,CPU和GPU交替使用,CPU或GPU在使用时使用率都能达到100%,但CPU处理时间较长,占整个batch_cost一半以上,导致GPU的实际利用率较低,可能是数据增强比较耗CPU?Paddle是否支持使用GPU进行数据增强的处理?
机器配置:Intel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz(20核40线程) * 2,RTX3090 * 4
模型backbone:PPLCNet_x2_5
DataLoader配置:

您好,PaddleClas支持第三方的gpu数据预处理库:dali,但是目前仅支持RandCropImage、RandFlipImage、CropImage、ResizeImage操作,其他的数据增强还不支持。在Global下设置use_dali: True即可。另外,如果的batch-size比较大,建议num-workers也可以相应调大一些。
您好,PaddleClas支持第三方的gpu数据预处理库:dali,但是目前仅支持RandCropImage、RandFlipImage、CropImage、ResizeImage操作,其他的数据增强还不支持。在Global下设置use_dali: True即可。另外,如果的batch-size比较大,建议num-workers也可以相应调大一些。
@cuicheng01 感谢回复,应该使用哪个版本的dali库呢?我按nvidia官方文档使用命令pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda110安装dali库后,训练报错如下:

这里看着像是dali的版本不太对,cuda10.2上的命令是:pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/nightly --upgrade nvidia-dali-nightly-cuda102,你可以在你的环境下试一下
使用您给的命令安装报错如下:
另外我尝试用这个命令pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda102安装,报错如下:
我的cuda版本是11.2
请问目前是不是不支持cuda11.2的dali版本?
报错信息里给出了安装的命令,可以试试看。或者看一下dali官网的安装方法 dali cuda 11.2我们确实没有测试过,不过理论上是支持的,如果使用中有问题可以在这个issue种补充。
- 102版本尝试了多种方法(包括报错提示里的命令以及官方文档里的命令),最终还是安装不上...
- 110版本可以安装成功(根据官方文档的提示,cuda11.2应该也是用110版本),但训练时就是报的下面的错误,看起来是110版本不兼容102版本?
您好,PaddleClas支持第三方的gpu数据预处理库:dali,但是目前仅支持RandCropImage、RandFlipImage、CropImage、ResizeImage操作,其他的数据增强还不支持。在Global下设置use_dali: True即可。另外,如果的batch-size比较大,建议num-workers也可以相应调大一些。
@cuicheng01 感谢回复,应该使用哪个版本的dali库呢?我按nvidia官方文档使用命令
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda110安装dali库后,训练报错如下:
这个应该是dali的版本导致的,目前PaddleClas适配的是cuda10.1或者cuda10.2上的dali。你试下cuda10.2呢?
您好,我用11.2的cuda,用你的安装命令pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda110, 复现你的问题但是没能成功复现,想问下你这边解决了吗?
您好,还没有解决,使用最新的release/2.3还是报上面的错误