运行python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 4 --fp16 -o -c weights/yolox_tiny.pth报错:
RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0; 4.00 GiB total capacity; 201.20 MiB already allocated; 0 bytes free; 3.04 GiB reserved in total by PyTorch)
解决:删除所有的___pycache__文件夹
修改:data_num_workers=0
修改命令参数batch-size,改为1或其他比较小的数
运行python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 2 --fp16 -o -c weights/yolox_tiny.pth报错:
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED
解决:一般显存溢出报out of memory之类,修改了代码中batch-size大小(忘记自己已经配置过默认参数)未解决。所以便认为是cuda配置问题,多方检查确认cuda、cudnn配置无误,也经历过更换cudnn,都无果。最终想起配置过的默认参数未改,改后正常。所以在查那么久,原因五花八门,都解决不了问题,此报错极可能根本与版本、配置无关,仅仅算力不足而已。
运行python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 2 --fp16 -o -c weights/yolox_tiny.pth报错:
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
You can try to repro this exception using the following code snippet. If that doesn't trigger the error, please include your original repro script when reporting this issue.
解决:删除所有的___pycache__文件夹,停止训练,让GPU冷却一会,再运行上面的命令,发现竟然又可以了,如果出现out of memory错误,一定会导致gpu过热,这时无论修改什么都会导致报错CUDNN_STATUS_INTERNAL_ERROR 或者 CUDNN_STATUS_NOT_INITIALIZED
AI训练会占用系统缓存,pagefile.sys会变大,可以设置C盘缓存为0,D盘为系统托管,这样就不会导致训练过程中C盘占用不断增大最终占满