PaddleClas icon indicating copy to clipboard operation
PaddleClas copied to clipboard

如何使用GPU进行数据增强处理

Open niancheng opened this issue 4 years ago • 10 comments

训练过程中观察到,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配置: image

niancheng avatar Dec 20 '21 03:12 niancheng

您好,PaddleClas支持第三方的gpu数据预处理库:dali,但是目前仅支持RandCropImage、RandFlipImage、CropImage、ResizeImage操作,其他的数据增强还不支持。在Global下设置use_dali: True即可。另外,如果的batch-size比较大,建议num-workers也可以相应调大一些。

cuicheng01 avatar Dec 20 '21 07:12 cuicheng01

您好,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库后,训练报错如下: image

niancheng avatar Dec 20 '21 08:12 niancheng

这里看着像是dali的版本不太对,cuda10.2上的命令是:pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/nightly --upgrade nvidia-dali-nightly-cuda102,你可以在你的环境下试一下

cuicheng01 avatar Dec 20 '21 09:12 cuicheng01

使用您给的命令安装报错如下: image 另外我尝试用这个命令pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda102安装,报错如下: image 我的cuda版本是11.2

niancheng avatar Dec 21 '21 01:12 niancheng

请问目前是不是不支持cuda11.2的dali版本?

niancheng avatar Dec 21 '21 01:12 niancheng

报错信息里给出了安装的命令,可以试试看。或者看一下dali官网的安装方法 dali cuda 11.2我们确实没有测试过,不过理论上是支持的,如果使用中有问题可以在这个issue种补充。

weisy11 avatar Dec 21 '21 09:12 weisy11

  1. 102版本尝试了多种方法(包括报错提示里的命令以及官方文档里的命令),最终还是安装不上...
  2. 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库后,训练报错如下: image

niancheng avatar Dec 21 '21 09:12 niancheng

这个应该是dali的版本导致的,目前PaddleClas适配的是cuda10.1或者cuda10.2上的dali。你试下cuda10.2呢?

cuicheng01 avatar Dec 27 '21 09:12 cuicheng01

您好,我用11.2的cuda,用你的安装命令pip install --extra-index-url https://developer.download.nvidia.com/compute/redist --upgrade nvidia-dali-cuda110, 复现你的问题但是没能成功复现,想问下你这边解决了吗?

cuicheng01 avatar Jan 04 '22 10:01 cuicheng01

您好,还没有解决,使用最新的release/2.3还是报上面的错误

niancheng avatar Jan 04 '22 14:01 niancheng