from squid.data import RandomCropPhoto2PhotoData
from squid.model import SuperviseModel
import torch
import torch.nn as nn
from squid.loss import VGGLoss
from squid.net import AOD_Deep1_Residual_Net

target_net = AOD_Deep1_Residual_Net()
target_net = nn.DataParallel(target_net).cuda()

model = SuperviseModel({
    'net': target_net, 
    'optimizer': torch.optim.Adam([{'name':'net_params', 'params':target_net.parameters(), 'base_lr':1e-5}], betas=(0.9, 0.999), weight_decay=0.0005),
    'lr_step_ratio': 0.5,
    'lr_step_size': 8,

    'supervise':{
        'out':  {'MSE_loss': {'obj': nn.MSELoss(size_average=True),  'factor':1.0, 'weight':1.0}}, 
    },
    'metrics': {}
     
})

train_dataset = Photo2PhotoData({
            'data_root': DATASET_DIR,
            'desc_file_path': os.path.join(DATASET_TXT_DIR, DATASET_ID, 'train.txt'),
})

valid_dataset = Photo2PhotoData({
            'data_root': DATASET_DIR,
            'desc_file_path': os.path.join(DATASET_TXT_DIR, DATASET_ID, 'val.txt'),
})
Пример #2
0
model = SuperviseModel({
    'net':
    target_net,
    'optimizer':
    torch.optim.Adam([{
        'name': 'net_params',
        'params': target_net.parameters(),
        'base_lr': 1e-4
    }],
                     betas=(0.9, 0.999),
                     weight_decay=0.0005),
    'lr_step_ratio':
    0.5,
    'lr_step_size':
    2,
    'supervise': {
        'out': {
            'MSE_loss': {
                'obj': nn.MSELoss(size_average=True),
                'factor': 1.0,
                'weight': 1.0
            },
            'VGG_loss': {
                'obj':
                VGGLoss1(vgg19_feature_model_path=
                         '/root/group-competition/pretrain_model/vgg_tf.pth',
                         out_feature_level=18),
                'factor':
                1e-7,
                'weight':
                1.0
            }
        },
    },
    'metrics': {}
})
Пример #3
0
model = SuperviseModel({
    'net':
    target_net,
    # 'optimizer': torch.optim.Adam([{'name':'net_params', 'params':target_net.parameters(), 'base_lr':1e-4,'warm_epoch':None,'total_epoch':epochs}], betas=(0.9, 0.999), weight_decay=0.0005),
    'optimizer':
    torch.optim.SGD([{
        'name': 'net_params',
        'params': target_net.parameters(),
        'base_lr': 1e-8,
        'warm_epoch': None,
        'total_epoch': epochs
    }],
                    lr=1e-8,
                    momentum=0.9,
                    weight_decay=0.0005),
    # 'lr_step_ratio': 10,
    # 'lr_step_size': 1,
    'supervise': {
        'out': {
            'L2_loss': {
                'obj': nn.MSELoss(size_average=True),
                'factor': 1.0,
                'weight': 1.0
            }
        }
    },
    'metrics': {
        'out': {
            'psnr': {
                'obj': PSNR()
            }
        }
    },
    'not_show_gradient':
    True
})
Пример #4
0
target_net = DarkNet()

model = SuperviseModel({
    'net':
    target_net,
    'optimizer':
    torch.optim.Adam([{
        'name': 'net_params',
        'params': target_net.parameters(),
        'base_lr': 1e-3,
        'warm_epoch': 2,
        'total_epoch': epochs
    }],
                     betas=(0.9, 0.999),
                     weight_decay=0.0005),
    'not_show_gradient':
    True,
    'supervise': {
        'out': {
            'L1_loss': {
                'obj': nn.L1Loss(size_average=True),
                'factor': 1.0,
                'weight': 1.0
            }
        },
    },
    'metrics': {}
})

# =================== dataset ==========================================================================================
from data import DarkPipeline
Пример #5
0
from squid.model  import SuperviseModel
from squid.metric import IouScore
from squid.metric import AccScore
from squid.data import Photo2MaskData

target_net = ICNet(nclass=15)

model = SuperviseModel({
    'net': target_net, 
    'optimizer': torch.optim.Adam([{'name':'net_params', 'params':target_net.parameters(), 'base_lr':1e-3}], betas=(0.9, 0.999), weight_decay=0.0005),
    'lr_step_ratio': 0.5,
    'lr_step_size': 500,
    'supervise':{
        'out1': {'cross_entrypy': {'obj': nn.CrossEntropyLoss(size_average=True),  'factor':1.0, 'weight': 1.0}}, 
        'out2': {'cross_entrypy': {'obj': nn.CrossEntropyLoss(size_average=True),  'factor':1.0, 'weight': 1.0}}, 
        'out3': {'cross_entrypy': {'obj': nn.CrossEntropyLoss(size_average=True),  'factor':1.0, 'weight': 1.0}}, 
        'out4': {'cross_entrypy': {'obj': nn.CrossEntropyLoss(size_average=True),  'factor':1.0, 'weight': 1.0}}, 
    },
    'metrics':{
        'mask_out': {'iou': {'obj': IouScore(nclass=15)}, 
                     'acc': {'obj': AccScore()}
                    }, 
    },
})

# =================== dataset =====================================================================
train_dataset = Photo2MaskData({
            'desc_file_path':'/3T/xcb/pytorch-srgan/examples/face_parse/txt/train_for_dev.txt',
})

valid_dataset = Photo2MaskData({