mmdetection2.0的faster-rcnn在voc数据集上的训练代码解析

本文详细解析了使用mmdetection2.0框架在VOC数据集上训练Faster R-CNN模型的过程,涉及的关键文件包括tools/train.py、configs/_base_/models/faster_rcnn_r50_fpn.py、configs/_base_/datasets/voc0712.py和configs/_base_/datasets/schedule_1x.py。训练配置如work_dir设定,用于存储log和模型文件。
摘要由CSDN通过智能技术生成

目录

 

代码位置:tools/train.py

代码位置:configs/_base_/models/faster_rcnn_r50_fpn.py

代码位置:configs/_base_/datasets/voc0712.py

代码位置:configs/_base_/datasets/schedule_1x.py


代码位置:tools/train.py

cfg.work_dir = osp.join('./work_dirs',
                                osp.splitext(osp.basename(args.config))[0])  #work_dir = './work_dirs/faster_rcnn_r50_fpn_1x'  代表log文件和模型文件存储路径

代码位置:configs/_base_/models/faster_rcnn_r50_fpn.py

# model settings
model = dict(
    type='FasterRCNN',                          # model类型
    pretrained='torchvision://resnet50',        # 预训练模型
    backbone=dict(
        type='ResNet',                          # backbone类型
        depth=50,                               # 网络层数
        num_stages=4,                           # rsenet的stage数量
        out_indices=(0, 1, 2, 3),               # 输出的stage序号
        frozen_stages=1,                        # 冻结的stage数量,即该stage不更新参数。-1表示所有的stage都更新参数
        norm_cfg=dict(type='BN', requires_grad=True),     # 传递梯度,更新weight和bias
        style='pytorch'),                       # 网络风格:如果设置为pytorch,那么stride为2的层是conv3*3卷积。如果设置为caffe,则stride为2的层是第一个conv1x1的卷积层
    neck=dict(
        type='FPN',                             # neck类型
        in_channels=[256, 512, 1024, 2048],     # 输入的各个stage的通道数
        out_channels=256,                       # 输出的特征层的通道数
        num_outs=5),                            # 输出的特征层的数量
    rpn_head=dict(
        type='RPNHead',                         # RPN网络类型
        in_channels=256,                        # RPN网络的通道数
        feat_channels=256,                      # 特征层的通道数
        anchor_scales=[8],                      # 生成的anchor的baselen,baselen=sqrt(w*h);w,h为anchor的width,height。
        anchor_ratios=[0.5, 1.0, 2.0],          # anchor的宽高比
        anchor_strides=[4, 8, 16, 32, 64],      # 对应于原图,每个特征层上的 anchor的步长
        target_means=[.0, .0, .0, .0],          # 均值
        target_stds=[1.0, 1.0, 1.0, 1.0],       # 方差
        loss_cls=dict(
            type='CrossEntropyLoss', use_sigmoid=True, loss_weight=1.0),    # 是否使用sigmoid来进行分类,如果False则使用softmax来分类
        loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weigh
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值