一.主要流程
1.训练命令
python tools/train_net.py \
--cfg detectron/datasets/data/experiment/config/e2e_faster_rcnn_R-50-FPN_1x.yaml \
OUTPUT_DIR detectron/datasets/data/experiment/result
- 复制进去的时候用sublime或者其他正式的编辑器编辑,否则空格容易出错。
- /Detectron/detectron与detectron是相同作用的,前者是绝对路径,后者是相对路径。
1.1 yaml文件中的相关说明
MODEL:
TYPE: generalized_rcnn
CONV_BODY: FPN.add_fpn_ResNet50_conv5_body
NUM_CLASSES: 5
FASTER_RCNN: True
NUM_GPUS: 1
SOLVER:
WEIGHT_DECAY: 0.0001
LR_POLICY: steps_with_decay
BASE_LR: 0.02
GAMMA: 0.1
#MAX_ITER: 90000
#STEPS: [0, 60000, 80000]
MAX_ITER: 1000
STEPS: [0, 600, 800]
FPN:
FPN_ON: True
MULTILEVEL_ROIS: True
MULTILEVEL_RPN: True
FAST_RCNN:
ROI_BOX_HEAD: fast_rcnn_heads.add_roi_2mlp_head
ROI_XFORM_METHOD: RoIAlign
ROI_XFORM_RESOLUTION: 7
ROI_XFORM_SAMPLING_RATIO: 2
TRAIN:
WEIGHTS: https://dl.fbaipublicfiles.com/detectron/ImageNetPretrained/MSRA/R-50.pkl
DATASETS: ('coco_2014_train', 'coco_2014_valminusminival')
SCALES: (800,)
MAX_SIZE: 1333
BATCH_SIZE_PER_IM: 512
RPN_PRE_NMS_TOP_N: 2000 # Per FPN level
SNAPSHOT_ITERS: 200
TEST:
DATASETS: ('coco_2014_minival',)
SCALE: 800
MAX_SIZE: 1333
NMS: 0.5
RPN_PRE_NMS_TOP_N: 1000 # Per FPN level
RPN_POST_NMS_TOP_N: 1000
OUTPUT_DIR: .
- MAX_ITER:最大迭代次数
- SNAPSHOT_ITERS:间隔多少次保存一次权重
2.测试命令
python tools/infer_simple.py \
--cfg detectron/datasets/data/experiment/config/e2e_faster_rcnn_R-50-FPN_1x.yaml \
--output-dir detectron/datasets/data/experiment/result\
--image-ext jpg \
--wts detectron/datasets/data/experiment/result/train/coco_2014_train:coco_2014_valminusminival/generalized_rcnn/model_final.pkl \
detectron/datasets/data/coco/coco_val2014
- image-ext:测试时,读取的文件的格式
- wts:训练好的权重的位置,定位到pkl文件
- 最后一行是demo,就是我们需要验证的数据