GPU显示内存足够,但训练时总提示内存不够,不清楚问题在哪儿?

问题遇到的现象和发生背景

GPU显示内存足够,但训练时总提示内存不够,不清楚问题在哪儿?如下图,内存尚有3.8GB。
指行的指令:
ython tools/train.py -f exps/example/yolox_voc/yolox_voc_s_bm.py -d 1 -b 1 --fp16 -o -c weights/yolox_s.pth
batch-size已经调到最低1了,仍旧不行。

运行结果及报错内容

2022-02-02 22:16:31.000 | INFO | yolox.core.trainer:before_train:127 - args: Namespace(batch_size=1, cache=False, ckpt='weights/yolox_s.pth', devices=1, dist_backend='nccl', dist_url=None, exp_file='exps/example/yolox_voc/yolox_voc_s_bm.py', experiment_name='yolox_voc_s_bm', fp16=True, machine_rank=0, name=None, num_machines=1, occupy=True, opts=[], resume=False, start_epoch=None)
2022-02-02 22:16:31.000 | INFO | yolox.core.trainer:before_train:128 - exp value:
(此处省略)
2022-02-02 22:16:38.357 | ERROR | yolox.core.launch:launch:98 - An error has been caught in function 'launch', process 'MainProcess' (1516), thread 'MainThread' (13920):
(最后一句)
RuntimeError: CUDA out of memory. Tried to allocate 2.80 GiB (GPU 0; 4.00 GiB total capacity; 38.94 MiB already allocated; 2.70 GiB free; 64.00 MiB reserved in total by PyTorch)

img