用自己的数据集训练MS-DETR(数据集问题)
在复现MS-DETR时训练自己数据集可能会出现这种问题:
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
网上的教程都不能通用,虽然这个也不能通用,但是我知道我是数据集问题,我使用的数据集种类是102,超过了coco的种类,
所以需要在代码中修改一下数据集种类相关的,拿MS-DETR举例,修改models/deformable_detr.py文件中的
num_classes = 20 if args.dataset_file != 'coco' else 91
把91改成你的数据集种类,出现这种问题一般是数据集种类过多(我理解的)
博主在训练Lite-DETR的时候也出现了这种问题,但是解决办法并不同,正在寻找解决办法
目测应该是在dino.py中修改数据集种类
下面是给我自己看的
MS-DETR
python -u main.py --device cuda:0 --batch_size 2 --num_workers 2 --output_dir /home/anti1hapi/文档/Project/MS-DETR/MS-DETR/output_dir --with_box_refine --two_stage --dim_feedforward 2048 --epochs 300 --lr_drop --coco_path /home/anti1hapi/文档/datasets/IP102/coco --num_queries 100 --use_ms_detr --use_aux_ffn --cls_loss_coef 1 --o2m_cls_loss_coef 2

浙公网安备 33010602011771号