Source code for farabio.core.configs

def _cfg_transformer():
    """Configurations for Classification models
    """
    return {
        # Data
        "batch_size": 64,
        'dataset': 'RANZCRDataset',
        'root': '/home/data/02_SSD4TB/suzy/datasets/public',
        # Model
        'title': 'BasicLinformer',
        # Train
        'start_epoch': 0,
        'num_epochs': 5,
        'learning_rate': 3e-5,
        'gamma': 0.7,
        # Test
        # Log
        # Compute
        'device': "cuda",
        'cuda': True,
        # Misc
        'seed': 42,
        'mode': 'train'
    }


def _cfg_class():
    """Configurations for Classification models
    """
    return {
        # Data
        'title': 'cifar-10',
        'dataset': 'cifar10',
        'num_classes': 10,
        'batch_size_train': 128,
        'batch_size_test': 100,
        # Model
        #'arch': 'simpledla',
        'depth': 20,
        'block_name': 'BasicBlock',
        'cardinality': 8,
        'widen_factor': 4,
        'growth_rate': 12,
        'compression_rate': 2,
        # Train
        'start_epoch': 0,
        'num_epochs': 200,
        'learning_rate': 0.1,
        'dropout': 0,
        'schedule': [150, 225],
        'gamma': 0.1,
        'momentum': 0.9,
        'weight_decay': 5e-4,
        'resume': True,
        # Test
        # Log
        'checkpoint': 'checkpoint',
        'resume': 'resume',
        # Compute
        'num_workers': 4,
        'cuda': True,
        'device': 'cuda',
        'gpu_id': 0,
        'data_parallel': False,
        # Misc
        'manual_seed': 5,
        'evaluate': True,
        'mode': 'train'
    }


[docs]def _cfg_unet(): """Configurations for U-Net """ return { # Data 'batch_size': 4, 'val_split': 0.2, 'shuffle_data': True, 'balanced': True, 'in_ch': 3, 'out_ch': 1, 'shape': 512, 'data_path': '/home/data/02_SSD4TB/suzy/datasets/public', #replace with own path # Model 'save_epoch': 1, 'semantic': False, 'model_save_name': "unet.pt", 'model_save_dir': '/home/data/02_SSD4TB/suzy/models/unet', 'criterion': 'Lovasz', # Train 'learning_rate': 0.01, 'start_epoch': 1, 'num_epochs': 100, 'has_eval': True, 'early_stop': True, 'patience': 13, 'optim': 'adam', # Test 'model_load_dir': '/home/data/02_SSD4TB/suzy/models/unet/unet.pt', 'output_img_dir': '/home/data/02_SSD4TB/suzy/models/unet/output/img', 'output_mask_dir': '/home/data/02_SSD4TB/suzy/models/unet/output/mask', 'output_overlay_dir': '/home/data/02_SSD4TB/suzy/models/unet/output/overlay', # Log 'use_tensorboard': True, 'use_visdom': False, # Compute 'num_workers': 32, 'device': 'cuda', 'num_gpu': 1, 'cuda': True, 'data_parallel': True, # Misc 'random_seed': 42, 'mode': 'train' }
[docs]def _cfg_attunet(): """Configurations for Attention U-Net """ return { # Data 'batch_size': 4, 'val_split': 0.2, 'shuffle_data': True, 'balanced': True, 'in_ch': 3, 'out_ch': 1, 'shape': 512, 'data_path': '/home/suzy/notebooks/one-time/stage1_train/', # Model 'save_epoch': 1, 'semantic': False, 'model_save_name': "attunet.pt", 'model_save_dir': '/home/data/02_SSD4TB/suzy/models/attunet', # Train 'learning_rate': 0.01, 'start_epoch': 1, 'num_epochs': 100, 'has_eval': True, 'early_stop': True, 'patience': 13, 'optim': 'adam', # Test 'model_load_dir': '/home/data/02_SSD4TB/suzy/models/attunet/attunet.pt', 'output_img_dir': '/home/data/02_SSD4TB/suzy/models/attunet/output/img', 'output_mask_dir': '/home/data/02_SSD4TB/suzy/models/attunet/output/mask', 'output_overlay_dir': '/home/data/02_SSD4TB/suzy/models/attunet/output/overlay', # Log 'use_tensorboard': True, 'use_visdom': False, # Compute 'num_workers': 32, 'device': 'cuda', 'num_gpu': 1, 'cuda': True, 'data_parallel': True, # Misc 'random_seed': 42, 'mode': 'train' }
[docs]def _cfg_srgan(): """Configurations for SRGAN """ return { # Data 'crop_size': 88, 'upscale_factor': 4, 'train_set': '/home/data/02_SSD4TB/suzy/datasets/public/div2k/DIV2K_train_HR', 'valid_set': '/home/data/02_SSD4TB/suzy/datasets/public/div2k/DIV2K_valid_HR', 'test_set': '/home/suzy/images', 'batch_size_train': 64, 'batch_size_valid': 1, 'batch_size_test': 1, # Model 'model_path': '/home/data/02_SSD4TB/suzy/models/srgan/epochs/netG_epoch_4_1.pth', 'model_save_dir': '/home/data/02_SSD4TB/suzy/models/srgan', 'save_csv_epoch': 1, # Train 'start_epoch': 1, 'num_epochs': 100, 'has_eval': True, 'optim': 'adam', # Log 'save_epoch': 1, # Compute 'num_workers': 4, 'cuda': True, # Misc 'mode': 'train' }
[docs]def _cfg_cyclegan(): """Configurations for CycleGAN """ return { # Data 'dataroot': '/home/data/02_SSD4TB/suzy/datasets/public/monet2photo/', 'batch_size': 1, 'size': 256, 'in_ch': 3, 'out_ch': 3, 'val_split': 0.2, 'shuffle_data': True, 'balanced': True, # Model 'model': 'cyclegan', 'save_dir': '/home/data/02_SSD4TB/suzy/models/cyclegan', 'generator_A2B': '/home/data/02_SSD4TB/suzy/models/cyclegan/netG_A2B.pth', 'generator_B2A': '/home/data/02_SSD4TB/suzy/models/cyclegan/netG_B2A.pth', # Train 'start_epoch': 1, 'num_epochs': 200, 'has_eval': False, 'learning_rate': 0.0002, 'decay_epoch': 100, 'patience': 10, 'optim': 'adam', # Test 'output_dir': '/home/data/02_SSD4TB/suzy/models/cyclegan/output', # Log 'use_tensorboard': True, 'save_epoch': 1, # Compute 'num_workers': 8, 'cuda': True, 'num_gpu': 1, 'device': 'cuda:2', # Misc 'mode': 'train', 'random_seed': 42 }
[docs]def _cfg_yolov3(): """Configurations for SRGAN """ return { # Data 'batch_size': 8, 'data_config': '/home/suzy/gitrepos/tuttelikz/farabio/farabio/models/detection/yolov3/config/coco.data', 'img_size': 416, # Model 'model_def': '/home/suzy/gitrepos/tuttelikz/farabio/farabio/models/detection/yolov3/config/yolov3.cfg', 'pretrained_weights': '/home/data/02_SSD4TB/suzy/models/yolov3/weights/darknet53.conv.74', 'weights_path': '/home/data/02_SSD4TB/suzy/models/yolov3/weights/yolov3.weights', # Train 'num_epochs': 100, 'gradient_accumulations': 2, 'compute_map': False, 'multiscale_training': True, 'optim': 'adam', 'econf_thres': 0.5, # Test 'iou_thres': 0.5, 'conf_thres': 0.001, 'nms_thres': 0.5, 'detect': False, # Detect 'image_folder': '/home/data/02_SSD4TB/suzy/datasets/public/coco/images/check', 'dconf_thres': 0.8, 'dnms_thres': 0.4, 'dbatch_size': 1, # Log 'checkpoint_interval': 1, 'evaluation_interval': 1, 'logdir': '/home/data/02_SSD4TB/suzy/models/yolov3/logs', 'chckpt_dir': '/home/data/02_SSD4TB/suzy/models/yolov3/checkpoints', 'output_dir': '/home/data/02_SSD4TB/suzy/models/yolov3/output', # Compute 'n_cpu': 32, 'device': 2, 'data_parallel': True, # Misc 'mode': 'train', }
[docs]def _cfg_fasterrcnn(): """Configurations for Faster-RCNN """ return { # Data 'voc_data_dir': '/home/data/02_SSD4TB/suzy/datasets/public/pascalvoc/VOC2007', 'min_size': 600, 'max_size': 1000, # Model 'load_path': None, 'save_path': "/home/data/02_SSD4TB/suzy/models/faster-rcnn/checkpoints/", 'load_optimizer': True, 'pretrained_model': "vgg16", # Train 'data': "voc", 'start_epoch': 1, 'num_epochs': 14, 'rpn_sigma': 3., 'roi_sigma': 1., 'weight_decay': 0.0005, 'scale_epoch': 9, 'lr': 1e-3, 'lr_decay': 0.1, 'use_adam': False, 'use_chainer': False, 'use_drop': False, 'has_eval': True, 'eval_interval': 1, 'debug_file': "/tmp/debugf", # Test 'test_num': 10000, # Log 'use_visdom': True, 'env': "faster-rcnn", 'port': 8097, 'plot_every': 40, 'save_optimizer': False, # Compute 'num_workers': 8, 'test_num_workers': 8, 'cuda': True, # Misc 'mode': 'train' }
default_cfgs = { 'transformer': _cfg_transformer(), 'classification': _cfg_class(), 'unet': _cfg_unet(), 'attunet': _cfg_attunet(), 'srgan': _cfg_srgan(), 'cyclegan': _cfg_cyclegan(), 'yolov3': _cfg_yolov3(), 'faster_rcnn': _cfg_fasterrcnn() } # def _cfg_vggnet(): # """Configurations for U-Net # """ # return { # # Data # 'batch_size_train': 4, # 'batch_size_valid': 1, # 'batch_size_test': 1, # 'val_split': 0.2, # 'shuffle_data': True, # 'data_path': '/home/data/02_SSD4TB/suzy/datasets/public', #replace with own path # # Model # 'save_epoch': 1, # 'semantic': False, # 'model_save_name': "unet.pt", # 'model_save_dir': '/home/data/02_SSD4TB/suzy/models/vgg', # # Train # 'learning_rate': 0.001, # 'momentum': 0.9, # 'weight_decay': 0.01, # 'step_size': 10, # 'gamma': 0.1, # 'start_epoch': 1, # 'num_epochs': 30, # 'has_eval': True, # 'early_stop': True, # 'patience': 13, # 'optim': 'adam', # # Test # 'model_load_dir': '/home/data/02_SSD4TB/suzy/models/vgg/vggnet.pt', # # Log # 'use_tensorboard': True, # 'use_visdom': False, # # Compute # 'num_workers': 32, # 'device': 'cuda:0', # 'num_gpu': 1, # 'cuda': True, # 'data_parallel': True, # # Misc # 'TRAIN': 'train', # 'TEST': 'test', # 'VAL': 'val', # 'mode': 'train' # } # def _cfg_alexnet(): # """Configurations for AlexNet # """ # return { # # Data # 'title': 'cifar-10', # 'dataset': 'cifar10', # 'num_classes': 10, # 'batch_size_train': 128, # 'batch_size_test': 100, # # Model # 'arch': 'resnet', # 'depth': 20, # 'block_name': 'BasicBlock', # 'cardinality': 8, # 'widen_factor': 4, # 'growth_rate': 12, # 'compression_rate': 2, # # Train # 'start_epoch': 0, # 'num_epochs': 300, # 'learning_rate': 0.1, # 'dropout': 0, # 'schedule': [150, 225], # 'gamma': 0.1, # 'momentum': 0.9, # 'weight_decay': 5e-4, # # Test # # Log # 'checkpoint': 'checkpoint', # 'resume': 'resume', # # Compute # 'num_workers': 4, # 'cuda': True, # 'device': 'cuda', # 'gpu_id': 0, # 'data_parallel': False, # # Misc # 'manual_seed': 5, # 'evaluate': True, # 'mode': 'train' # }