
OWOD复现过程总结
放在OWOD-master下,找到OWOD-master/configs/OWOD/t1/t1_train.yaml,把预训练模型的文件路径(如果在自己的docker中路径为/workspace_disk/OWOD-master/R-50.pkl,否则报错找不到该文件)替换原文件中weight的内容。我在下载过程中以上问题均遇到过,耐心尝试即可。(2)把下载的数据集中的Annotations与JP
OWOD的代码是基于detectron2库搭建成功的,具体的搭建过程参考Ubuntu下配置detectron2_于大宝0626的博客-CSDN博客过程详细,据此搭建即可。
遇到的问题:
在复现过程中,第一次使用anaconda的镜像建立自己的docker环境,最后运行时出现“path should be string,bytes,os.pathlike or integer,not nonetype”的报错,具体原因是没有CUDA_HOME的路径,试图找到这个路径,得知使用anaconda搭建时相关内容会自动配置,但不可见。第一次复现失败。
第二次使用拉取pytorch镜像的方式搭建docker环境,由于OWOD的git上说明 Python ≥ 3.6,PyTorch ≥ 1.4,所以本次使用的是python3.8,pytorch1.8.0,cuda11.1创建docker环境,最后运行时出现“RuntimeError: radix_sort: failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal”(无效的设备序数)的报错,具体原因是查到可能是pytorch1.8.x的bug,最后使用拉取pytorch/pytorch 1.9.1-cuda11.1-cudnn8-devel镜像搭建docker成功。
获取detectron2时可能会出现命令运行成功却没有找到此文件夹的情况,根本问题还是没下载下来,可以更换官方提供的命令多次尝试。或者网络的问题导致失败。我在下载过程中以上问题均遇到过,耐心尝试即可。(Ubuntu下apt-get方式Git的安装:sudo apt-get update
sudo apt-get install git)
detectron2搭建成功后即可复现OWOD
1.下载OWOD代码。
2.进入项目文件夹(cd OWOD-master),激活环境,输入语句配置detectron
python setup.py build develop
3.下载预训练模型https://github.com/JosephKJ/OWOD/issues/86放在OWOD-master下,找到OWOD-master/configs/OWOD/t1/t1_train.yaml,把预训练模型的文件路径(如果在自己的docker中路径为/workspace_disk/OWOD-master/R-50.pkl,否则报错找不到该文件)替换原文件中weight的内容。
4.下载数据集https://github.com/JosephKJ/OWOD/issues/86(第一行439MB的)
制作数据集:
(1)在OWOD-main中找到datasets文件夹,在这里建VOC2007文件夹
(2)把下载的数据集中的Annotations与JPEGImages文件夹放在VOC2007下(下载的数据集中可能还有其它文件夹,不用管)
(3)在datasets/VOC2007中建ImageSets文件建,在ImageSets中建Main文件夹
(4)将datasets/OWOD_imagesets下的所有文件放到datasets/VOC2007/ImageSets/Main下
5.训练(num-gpus参数可自行调整)
python tools/train_net.py --num-gpus 1 --config-file ./configs/OWOD/t1/t1_train.yaml SOLVER.IMS_PER_BATCH 8 SOLVER.BASE_LR 0.0025 OUTPUT_DIR "./output/t1"
6.后续使用自己的数据集进行训练的过程还会继续记录,未完待续......
其中可能的报错:
(1)ImportError: libGL.so.1: cannot open shared object file: No such file or directory
解决方法:
apt-get update
apt install libgl1-mesa-glx
(2)ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
解决方法:
apt-get install libglib2.0-dev
(3)可能报错缺少'reliability'和'reliability'
解决方法:
pip install reliability
pip install shortuuid
更多推荐
所有评论(0)