|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
Created in September 2022 |
|
|
@author: fabrizio.guillaro |
|
|
""" |
|
|
|
|
|
import os |
|
|
from yacs.config import CfgNode as CN |
|
|
|
|
|
|
|
|
_C = CN() |
|
|
|
|
|
_C.OUTPUT_DIR = 'weights' |
|
|
_C.LOG_DIR = 'log' |
|
|
_C.GPUS = (0,) |
|
|
_C.WORKERS = 4 |
|
|
|
|
|
|
|
|
_C.CUDNN = CN() |
|
|
_C.CUDNN.BENCHMARK = True |
|
|
_C.CUDNN.DETERMINISTIC = False |
|
|
_C.CUDNN.ENABLED = True |
|
|
|
|
|
|
|
|
_C.MODEL = CN() |
|
|
_C.MODEL.NAME = 'detconfcmx' |
|
|
_C.MODEL.PRETRAINED = 'pretrained_models/segformers/mit_b2.pth' |
|
|
_C.MODEL.MODS = ('RGB','NP++') |
|
|
_C.MODEL.EXTRA = CN(new_allowed=True) |
|
|
_C.MODEL.EXTRA.BACKBONE = 'mit_b2' |
|
|
_C.MODEL.EXTRA.DETECTION = None |
|
|
_C.MODEL.EXTRA.MODULES = ['NP++','backbone','loc_head','conf_head','det_head'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_C.MODEL.EXTRA.FIX_MODULES = ['NP++'] |
|
|
|
|
|
_C.LOSS = CN() |
|
|
_C.LOSS.USE_OHEM = False |
|
|
_C.LOSS.LOSSES = [['LOC', 1.0, 'cross_entropy']] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_C.LOSS.SMOOTH = 0 |
|
|
|
|
|
|
|
|
_C.DATASET = CN() |
|
|
_C.DATASET.ROOT = '' |
|
|
_C.DATASET.TRAIN = [] |
|
|
_C.DATASET.VALID = [] |
|
|
_C.DATASET.NUM_CLASSES = 2 |
|
|
_C.DATASET.CLASS_WEIGHTS = [0.5, 2.5] |
|
|
|
|
|
|
|
|
_C.TRAIN = CN() |
|
|
|
|
|
_C.TRAIN.IMAGE_SIZE = [512, 512] |
|
|
|
|
|
_C.TRAIN.LR = 0.01 |
|
|
_C.TRAIN.OPTIMIZER = 'sgd' |
|
|
_C.TRAIN.MOMENTUM = 0.9 |
|
|
_C.TRAIN.WD = 0.0001 |
|
|
_C.TRAIN.NESTEROV = False |
|
|
_C.TRAIN.IGNORE_LABEL = -1 |
|
|
|
|
|
_C.TRAIN.BEGIN_EPOCH = 0 |
|
|
_C.TRAIN.END_EPOCH = 100 |
|
|
_C.TRAIN.STOP_EPOCH = -1 |
|
|
_C.TRAIN.EXTRA_EPOCH = 0 |
|
|
|
|
|
_C.TRAIN.RESUME = True |
|
|
_C.TRAIN.PRETRAINING = '' |
|
|
_C.TRAIN.AUG = None |
|
|
_C.TRAIN.BATCH_SIZE_PER_GPU = 18 |
|
|
_C.TRAIN.SHUFFLE = True |
|
|
_C.TRAIN.NUM_SAMPLES = 0 |
|
|
|
|
|
|
|
|
_C.VALID = CN() |
|
|
_C.VALID.IMAGE_SIZE = None |
|
|
_C.VALID.AUG = None |
|
|
_C.VALID.FIRST_VALID = True |
|
|
_C.VALID.MAX_SIZE = None |
|
|
_C.VALID.BEST_KEY = 'avg_mIoU' |
|
|
|
|
|
|
|
|
_C.TEST = CN() |
|
|
_C.TEST.MODEL_FILE = '' |
|
|
|
|
|
|
|
|
|
|
|
def update_config(cfg, args): |
|
|
cfg.defrost() |
|
|
|
|
|
cfg.merge_from_file(f'/home/daniil.orel/detect_fake_images/TruFor_train_test/lib/config/trufor_ph3.yaml') |
|
|
if cfg.TEST.MODEL_FILE == '': |
|
|
cfg.merge_from_list(['TEST.MODEL_FILE', f'weights/trufor_ph3/best.pth.tar']) |
|
|
try: |
|
|
cfg.merge_from_list(['GPUS', tuple(args.gpu)]) |
|
|
except: |
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cfg.freeze() |
|
|
|
|
|
|