Lite-HRNet调试记录

发布于 24 天前  49 次阅读


问题:Pytorch 的安装,pip安装之后torch仍不可用
解决:使用conda安装

问题:coco数据集太大,无法上传到九天毕昇云平台
解决:使用九天毕昇的公共数据集,由于公共数据集路径不可变,需要更改配置文件Lite-HRNet/configs/top_down/lite_hrnet/coco/litehrnet_18_coco_256x192.py的第159行,改为data_root = '../data/public/coco2017'

问题:使用单GPU命令运行测试python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE},程序报错ModuleNotFoundError: No module named 'models'
解决:改为使用多GPU的命令./tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM},但是将GPU_NUM填为1

问题:在测试过程中频繁报错No module named 'xxx'
解决:这是由于依赖没有安装或安装不完全。依赖中断导致依赖没有全部安装,则重新执行pip install -r requirements.txt直到执行不报错

问题:warnings.warn('Fail to import "MultiScaleDeformableAttention" from '
root.locallibpython3.7site-packagesmmposemodelsregistry.py13
解决:原因为mmcv版本与pytorch和cuda不匹配。卸载并重新安装mmcv-full

问题:KeyError: 'LiteHRNet is already registered in models'
解决:将models/backbones/litehrnet.py中的@BACKBONES.register_module()改为@BACKBONES.register_module(force=True)

问题:FilelotFoundError: file "/root/Lite-HRNet/ configs/base/datasets/coco.py"does not exist
解决:观察到是mmpose包中的mmpose/datasets/datasets/top_down/topdown_coco_dataset.py文件的72行调用了coco.py文件,因此从mmpose包中下载coco.py并放到自己项目中的相应目录下

问题:unexpected key in source state_dict
解决:这是由于测试层数与训练层数不匹配,观察发现是下载的训练好的模型和测试使用的配置文件不匹配。更改成相匹配的即可。更改后的命令如下:./tools/dist_test.sh configs/top_down/lite_hrnet/coco/litehrnet_18_coco_256x192.py litehrnet_18_coco_256x192.pth 1

问题:KeyError: 'center'
解决:这是由于最新版本的mmpose==0.26.0自带bug,需要更改为0.25.1版本

问题:KeyError: Caught KeyError in DataLoader worker process 0.
解决:这个错误和上面的KeyError: 'center'是一起报的,在解决KeyError: 'center'的问题之后,此问题自动消失

问题:在解决上一个问题之后报错mmcv-full版本不适配
解决:使用指令pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html,安装1.6.0版本的mmcv-full

问题:报错ERROR:torch.distributed.elastic.multiprocessing.api:failed
解决:这个错误在每一次运行出错之后都会报,这是因为cuda进程和cpu进程是异步执行的,cuda出错的时候cpu是不会停的,得等到某个时刻可能要同步了才停。所以无法根据报错信息定位。最后发现将所有问题解决完之后,错误自动消失

问题:尝试将运行结束的代码推送到自己的github仓库中,报错The TLS connection was non-properly terminated.
解决:这是因为九天毕昇没有vpn,所以在git push时会一直连不上,该问题与重置代理无关,也与本机代理无关。解决方式是放弃推送到github,转而推送到gittee

问题:尝试将运行结束的代码推送到自己的github仓库中,推送时报错remote: error: File Lite-HRNet/work_dirs/litehrnet_18_coco_256x192/result_keypoints.json is 141.69 MB; this exceeds GitHub's file size limit of 100.00 MB
解决:git rm 你要删除的本地文件。将这个文件从本地仓库中删除后推送