OWOD训练运行教程

Towards Open World Object Detection的训练

代码地址:https://github.com/JosephKJ/OWODhttps://github.com/JosephKJ/OWOD

1.创建一个conda环境python > 3.6, 安装 Pytorch > 4 和opencv

2.下载detectron2(也可以根据电脑配置下载不同版本的detectron2)

git clone https://github.com/facebookresearch/detectron2.git

不同版本下载地址:https://github.com/facebookresearch/detectron2/releases

3.接下来在OWOD文件夹下安装detectron2

 python -m pip install -e detectron2 

注意此处不要使用该文件夹外部构建的Detectron2,否则运行代码时会报错,一定要在OWOD内构建Detectron2。

4.数据集的制作:先进入google drive的命令下载数据, 然后再根据下面两个步骤把数据和预训练的模型放到指定的位置(这一步要仔细)

google drive地址https://drive.google.com/drive/folders/1Sr4_q0_m2f2SefoebB25Ix3N1VIAua0w

(1)主文件夹下新建datasets/VOC2007文件夹

(2)下载的Annotations与JPEGImages文件夹放在VOC2007下

(3)新建datasets/VOC2007/ImageSets/Main文件夹

(4)将datasets/OWOD_imagesets下的所有文件放到datasets/VOC2007/ImageSets/Main下

5.开始训练

8gpu:

python tools/train_net.py --num-gpus 8 --dist-url='tcp://127.0.0.1:52125' --resume --config-file ./configs/OWOD/t1/t1_train.yaml SOLVER.IMS_PER_BATCH 8 SOLVER.BASE_LR 0.01 OUTPUT_DIR "./output/t1"

4gpu:

python tools/train_net.py --num-gpus 4 --dist-url='tcp://127.0.0.1:52125' --resume --config-file ./configs/OWOD/t1/t1_train.yaml SOLVER.IMS_PER_BATCH 4 SOLVER.BASE_LR 0.005 OUTPUT_DIR "./output/t1"

单gpu:

python tools/train_net.py --num-gpus 1 --dist-url='tcp://127.0.0.1:52125' --resume --config-file ./configs/OWOD/t1/t1_train.yaml SOLVER.IMS_PER_BATCH 8 SOLVER.BASE_LR 0.0025 OUTPUT_DIR "./output/t1"

 在运行时可能会出现缺少包的情况,直接pip安装即可:

No module named 'reliability' 

pip install reliability

No module named 'shortuuid'

pip install shortuuid

 

 

运行成功!!! 

### OWOD训练模型介绍 OWOD(Online Web Object Detection)是一种针对在线增量学习设计的目标检测框架,旨在解决传统目标检测模型在面对新类别时容易遗忘旧类别的问题。其核心理念是在不断引入新数据的同时保持对已有知识的记忆能力。 OWOD 使用了一种基于特征重放的技术来缓解灾难性遗忘的问题[^1]。具体来说,在每次更新模型权重的过程中,OWOD 不仅会利用当前批次的新数据进行训练,还会通过生成器重新构建过去见过的类别样本来模拟历史分布。这种方法使得网络能够在不访问原始训练数据的情况下维持对于早期学到的知识点的有效记忆。 另外值得注意的是,尽管上述背景提到一些关于大语言模型及其局限性的讨论以及多模态基础模型如何有效融合多种类型的数据源的信息[^2], 这些并不直接影响到 OWOD 自身架构的设计思路和技术实现路径. ### OWOD 的使用方法 要开始使用 OWOD 模型, 用户通常需要遵循以下几个方面准备环境并执行相应操作: #### 安装依赖库 首先确保安装好必要的 Python 库文件, 可以通过 pip 工具完成基本包管理任务. ```bash pip install torch torchvision matplotlib numpy opencv-python scikit-image tensorboardX tqdm easydict cython pycocotools yacs ``` #### 数据集配置 准备好 COCO 或者其他自定义格式的数据集作为输入素材. 如果采用标准 COCO 格式,则需调整 `datasets/coco.py` 文件内的路径指向实际存储位置;如果是非标准化形式则可能涉及额外转换脚本编写工作。 #### 训练过程控制 设定超参选项比如初始学习率、动量系数等参数值,并指定保存检查点目录以便后续加载继续优化或者评估最终效果。 ```python from owod.engine.trainer import do_train do_train( cfg, model, data_loader_source, optimizer, scheduler, checkpointer, device, arguments, ) ``` 以上代码片段展示了调用官方 API 函数启动正式迭代循环的过程,其中包含了传入配置对象(cfg), 主干神经网络结构(model)等多个重要组件实例变量传递给内部逻辑处理单元。 ### 注意事项 由于涉及到复杂的迁移学习场景应用场合下可能出现的各种挑战因素影响整体表现水平,因此建议开发者密切关注最新研究成果动态及时跟进改进措施方案。
评论 69
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值