欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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