OWOD 开源项目教程
OWOD(CVPR 2021 Oral) Open World Object Detection项目地址:https://gitcode.com/gh_mirrors/ow/OWOD
1. 项目目录结构及介绍
该项目的目录结构如下:
.
├── data # 存放数据集的目录
│ ├── annotations # 数据标注文件
│ └── images # 图像文件
├── models # 模型定义和预训练模型存放位置
│ ├── config.py # 模型配置文件
│ └── model.py # 模型代码
├── scripts # 脚本工具
│ ├── train.py # 训练脚本
│ └── inference.py # 预测脚本
├── requirements.txt # 依赖包列表
└── README.md # 项目说明文档
data
: 包含所有输入的数据,分为annotations
(注释)和images
(图像)子目录。models
: 用于存储模型相关文件,包括配置和预训练权重。scripts
: 提供了训练和推理的基本脚本。requirements.txt
: 列出了项目运行所需的所有Python库。README.md
: 提供项目简介和指南。
2. 项目的启动文件介绍
train.py
这是项目的训练脚本,主要任务是加载数据,实例化模型,配置优化器,并开始训练过程。在使用时,你需要通过命令行参数指定配置文件路径和训练的相关设置。
python scripts/train.py --config_path=models/config.yml
其中--config_path
参数指定了你的配置文件(如models/config.yml
),该文件将定义模型结构、学习率等训练参数。
inference.py
此脚本用于对新图像进行预测,它读取预训练模型并应用到输入图像上。同样,你可以通过命令行参数传递配置文件路径以及模型权重路径。
python scripts/inference.py --config_path=models/config.yml --weights_path=models/best_model.pth
这里的--weights_path
参数用于指定要使用的预训练模型文件。
3. 项目的配置文件介绍
项目中的配置文件一般以.yml
扩展名存在,如models/config.yml
,它包含了模型架构、训练超参数和其他相关设置。一个简单的配置示例可能包含以下内容:
model:
name: OWODModel # 模型名称
backbone: ResNet50 # 特征提取网络
num_classes: 80 # 类别数量
optimizer:
name: Adam # 优化器类型
lr: 0.001 # 初始学习率
train:
batch_size: 8 # 训练批次大小
epochs: 50 # 训练轮数
dataset_path: ./data # 数据集根目录
test:
batch_size: 4 # 测试批次大小
配置文件允许您根据需求调整模型训练和测试的各个参数。当你运行训练或预测脚本时,它们会从这些配置中获取必要的信息。
OWOD(CVPR 2021 Oral) Open World Object Detection项目地址:https://gitcode.com/gh_mirrors/ow/OWOD