PaddlePaddle / PaddleClas

A treasure chest for visual classification and recognition powered by PaddlePaddle
Apache License 2.0
5.5k stars 1.17k forks source link

PaddleX 3.0,训练多标签模型(CLIP_vit_base_patch16_448_ML),显存泄露 #3289

Closed 188080501 closed 3 weeks ago

188080501 commented 3 weeks ago

显存泄露问题,甚至是每个epoch都会导致显存增长,而且我已经关闭了eval,只训练

我的环境是 PaddleX 3.0-beta1 Windows10 ltsc 2019 Python 3.10 CUDA 11.8 4090显卡

PaddleClas是通过插件安装的,命令如下: paddlex --install PaddleClas

训练命令: python main.py -c paddlex/configs/multilabel_classification/CLIP_vit_base_patch16_448_ML.yaml -o Global.mode=train -o Global.dataset_dir=./dataset/mlcls_nus_examples -o Global.device=gpu:0

PaddleX的代码无修改,ymal只修改了训练的配置,修改后的配置如下:

Train:
  num_classes: 33
  epochs_iters: 20
  batch_size: 16
  learning_rate: 0.0003
  pretrain_weight_path: null
  warmup_steps: 5
  resume_path: null
  log_interval: 20
  eval_interval: 20
  save_interval: 4

MSI Afterburner的截图 捕获

188080501 commented 3 weeks ago

因为每个epoch都会泄露显存,导致几乎无法正常训练模型,基本上10次epoch就爆显存无法继续了

cuicheng01 commented 3 weeks ago

您好,请问您使用的Paddle版本是?在框架3.0-beta1确实存在这个问题,现在已经修复,您可以尝试使用最新的paddle版本。python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/

188080501 commented 3 weeks ago

您好,请问您使用的Paddle版本是?在框架3.0-beta1确实存在这个问题,现在已经修复,您可以尝试使用最新的paddle版本。python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/

感谢回复。更新到3.0.0b2版本后,这个模型训练正常了,显存占用一条直线不波动了