Tensorflow2.0 實現 YOLOv3(五):config.py

文章說明

本系列文章旨在對 Github 上 malin9402 提供的代碼進行說明,在這篇文章中,我們會對 YOLOv3 項目中的 config.py 文件進行說明,這個文件中包含着所有的參數和需要加載的文件地址。

如果只是想運行 Github 上的代碼,可以參考對 YOLOv3 代碼的說明一文。

代碼說明

對代碼中各個參數進行說明。

from easydict import EasyDict as edict


__C                           = edict()
# Consumers can get config by: from config import cfg

cfg                           = __C

# YOLO options
__C.YOLO                      = edict()

# Set the class name
__C.YOLO.CLASSES              = "./data/classes/yymnist.names"  # 類別的索引,假如一共有10個類別,這個文件就是[0, 1,……, 9]
__C.YOLO.ANCHORS              = "./data/anchors/basline_anchors.txt"  # 先驗框的寬度和高度,三個 feature map 上各有三個先驗框,所以一共有九個先驗框的寬度和高度
__C.YOLO.STRIDES              = [8, 16, 32]  # 每個 feature map 中的一個格子代表原始圖像中的幾個格子,即 STRIDES * feature map 尺寸 = 原始圖像尺寸
__C.YOLO.ANCHOR_PER_SCALE     = 3  # 一個尺度(feature map)上有三個先驗框
__C.YOLO.IOU_LOSS_THRESH      = 0.5  # IOU 閾值

# Train options
__C.TRAIN                     = edict()

__C.TRAIN.ANNOT_PATH          = "./data/dataset/yymnist_train.txt"  # 訓練集中標籤的加載地址
__C.TRAIN.BATCH_SIZE          = 4  # 每次用 4 張圖片進行訓練
__C.TRAIN.INPUT_SIZE          = [416]  # 訓練集中每張輸入圖片的尺寸爲 416 * 416
__C.TRAIN.DATA_AUG            = True  # 是否對輸入的圖片進行數據加強操作,比如水平翻轉和隨機剪裁等
__C.TRAIN.LR_INIT             = 1e-3  # 初始學習率
__C.TRAIN.LR_END              = 1e-6  # 訓練結束時的學習率
__C.TRAIN.WARMUP_EPOCHS       = 2  # 學習率變化趨勢改變時的訓練次數
__C.TRAIN.EPOCHS              = 30  # 一共訓練多少個 epoch



# TEST options
__C.TEST                      = edict()

__C.TEST.ANNOT_PATH           = "./data/dataset/yymnist_test.txt"  # 測試集中標籤的加載地址
__C.TEST.BATCH_SIZE           = 2  # 每次用 2 張圖片進行測試
__C.TEST.INPUT_SIZE           = 544  # 測試集中每張輸入圖片的尺寸爲 416 * 416
__C.TEST.DATA_AUG             = False  # 是否對輸入的圖片進行數據加強操作,比如水平翻轉和隨機剪裁等
__C.TEST.DECTECTED_IMAGE_PATH = "./data/detection/"  # 將測試好的圖片存在這個路徑下
__C.TEST.SCORE_THRESHOLD      = 0.3  # 測試時的得分閾值
__C.TEST.IOU_THRESHOLD        = 0.45  # 測試時的 IOU 閾值

在 ./data/dataset/yymnist_train.txt 和 ./data/dataset/yymnist_test.txt 中保存的是圖片地址、圖片上真實框的位置以及真實框中的類別,比如:

E:\Pycharm\code\Jupyter\tensorflow2.0\My_net\YOLO_v3\data\dataset\train\000029.jpg 124,89,236,201,7 255,127,367,239,8

表示 000029.jpg 這張圖片上一共有 2 個真實框,它們的座標信息分別爲 (xmin, ymin, xmax, ymax) = (124, 89, 236, 201) 和 (xmin, ymin, xmax, ymax) = (255, 127, 367, 239),它們所框住的類別分別是第 8 類和第 9 類(因爲是從 0 開始算起的)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章