config.py
程序员文章站
2022-06-12 19:50:07
...
#! /usr/bin/env python
# coding=utf-8
#================================================================
# easydict的作用:可以使得以属性的方式去访问字典的值
# 如 d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
# 输入d.foo 输出3 输入d.bar.x 输出1
#================================================================
from easydict import EasyDict as edict
__C = edict()
# Consumers can get config by: from config import cfg
cfg = __C
# ?这个转换有没有意义?为什么下面是用__C,却要from config import cfg
# YOLO options
__C.YOLO = edict()
# Set the class name
__C.YOLO.CLASSES = "./data/classes/coco.names"
# NAMES文件,包含了数据集的类别名称,如coco.names;voc.names
__C.YOLO.ANCHORS = "./data/anchors/basline_anchors.txt"
# txt文件,内容为1.25,1.625, 2.0,3.75, 4.125,2.875, 1.875,3.8125, 3.875,2.8125, 3.6875,7.4375, 3.625,2.8125, 4.875,6.1875, 11.65625,10.1875
__C.YOLO.MOVING_AVE_DECAY = 0.9995
# 移动平均衰退?
__C.YOLO.STRIDES = [8, 16, 32]
# strides数,应该是分的网格数目?
__C.YOLO.ANCHOR_PER_SCALE = 3
# 每个anchor分为三个层级,大中小
__C.YOLO.IOU_LOSS_THRESH = 0.5
# IOU的loss门限值
__C.YOLO.UPSAMPLE_METHOD = "resize"
# 上采样的方式
__C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_coco.ckpt"
# 初始权重
__C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt"
# demo权重
# Train options
__C.TRAIN = edict()
__C.TRAIN.ANNOT_PATH = "./data/dataset/voc_train.txt"
# 训练的标签路径?还是照片路径?每个路径下跟着五的倍数个数字
__C.TRAIN.BATCH_SIZE = 6
# batch size是6
__C.TRAIN.INPUT_SIZE = [320, 352, 384, 416, 448, 480, 512, 544, 576, 608]
# 训练输入尺寸?
__C.TRAIN.DATA_AUG = True
# 打开数据增强
__C.TRAIN.LEARN_RATE_INIT = 1e-4
__C.TRAIN.LEARN_RATE_END = 1e-6
# 学习率设置
__C.TRAIN.WARMUP_EPOCHS = 2
__C.TRAIN.FISRT_STAGE_EPOCHS = 20
__C.TRAIN.SECOND_STAGE_EPOCHS = 30
# 学习周期设置
__C.TRAIN.INITIAL_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt"
# 初始权重地址,用的是coco_demo.ckpt
# TEST options
__C.TEST = edict()
__C.TEST.ANNOT_PATH = "./data/dataset/voc_test.txt"
# 测试用的路径同上
__C.TEST.BATCH_SIZE = 2
# batch size是2 为什么这个要用batch size?
__C.TEST.INPUT_SIZE = 544
__C.TEST.DATA_AUG = False
# 关闭数据增强
__C.TEST.WRITE_IMAGE = True
# 输出图像
__C.TEST.WRITE_IMAGE_PATH = "./data/detection/"
# 输出图像路径
__C.TEST.WRITE_IMAGE_SHOW_LABEL = True
# 输出图像显示label
__C.TEST.WEIGHT_FILE = "./checkpoint/yolov3_test_loss=9.2099.ckpt-5"
# 测试权重文件存放地址
__C.TEST.SHOW_LABEL = True
# 显示标签
__C.TEST.SCORE_THRESHOLD = 0.3
# 得分门限0.3
__C.TEST.IOU_THRESHOLD = 0.45
# iou门限0.45