示例#1
0
def main():
    parser = argparse.ArgumentParser()                                
    arg = parser.add_argument    
    arg('--model_name', type=str, default='mask_512', help='String model name from models dictionary')
    arg('--seed', type=int, default=1234, help='Random seed')
    arg('--fold', type=int, default=0, help='Validation fold')
    arg('--weights_dir', type=str, default='', help='Directory for loading model weights')
    arg('--epochs', type=int, default=12, help='Current epoch')
    arg('--lr', type=float, default=1e-3, help='Initial learning rate')
    arg('--debug', type=bool, default=False, help='If the debugging mode')
    args = parser.parse_args()      
    set_seed(args.seed)

    # get data
    if ON_SERVER:
        level5data = LyftDataset(data_path = '.', json_path='../../input/train_data', verbose=True) # server
    else:
        level5data = LyftDataset(data_path = '../input/', json_path='../input/train_data', verbose=True) # local laptop
    
    classes = ["car", "motorcycle", "bus", "bicycle", "truck", "pedestrian", "other_vehicle", "animal", "emergency_vehicle"]
    
    # "bev" folder
    data_folder = os.path.join(OUTPUT_ROOT, "bev_data")

    # choose model
    model = get_maskrcnn_model(NUM_CLASSES)     
    
    checkpoint= f'{OUTPUT_ROOT}/checkpoints/'

    train(model, model_name='mask_512', data_folder=data_folder, 
          level5data = level5data, 
          fold=args.fold, debug=args.debug, img_size=IMG_SIZE, bev_shape=BEV_SHAPE,
          epochs=args.epochs, batch_size=16, num_workers=4, 
          learning_rate = args.lr, resume_weights=args.weights_dir, resume_epoch=0)
    def _setup(self, variant):
        set_seed(variant['run_params']['seed'])

        self._variant = variant
        gpu_options = tf.GPUOptions(allow_growth=True)
        session = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
        tf.keras.backend.set_session(session)
        self._session = tf.keras.backend.get_session()

        self.train_generator = None
        self._built = False
示例#3
0
    def _setup(self, params):
        self._params = params

        #### set up tf session
        set_seed(params['run_params']['seed'])
        gpu_options = tf.GPUOptions(allow_growth=True)
        session = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
        tf.keras.backend.set_session(session)

        self._session = tf.keras.backend.get_session()
        self.train_generator = None
        self._built = False
示例#4
0
def main():
    parser = argparse.ArgumentParser()                                
    arg = parser.add_argument    
    arg('--model_name', type=str, default='mask_512', help='String model name from models dictionary')
    arg('--seed', type=int, default=1234, help='Random seed')
    arg('--fold', type=int, default=0, help='Validation fold')
    arg('--weights_dir', type=str, default='', help='Directory for loading model weights')
    arg('--epochs', type=int, default=12, help='Current epoch')
    arg('--lr', type=float, default=1e-3, help='Initial learning rate')
    arg('--debug', type=bool, default=False, help='If the debugging mode')
    args = parser.parse_args() 

    set_seed(args.seed)
    classes = ["car", "motorcycle", "bus", "bicycle", "truck", "pedestrian", "other_vehicle", "animal", "emergency_vehicle"]
    model = get_unet_twohead_model(encoder='resnet18', num_classes=len(classes)+1)
    
    data_folder = os.path.join(OUTPUT_ROOT, "bev_data")

    checkpoint= f'{OUTPUT_ROOT}/checkpoints/unet_resnet152_384_fold_2/unet_resnet152_384_fold_2_epoch_6.pth' 
    
    train(model, model_name=args.model_name, data_folder=data_folder, 
          fold=args.fold, debug=args.debug, img_size=IMG_SIZE, learning_rate= args.lr,
          epochs=args.epochs, batch_size=32, num_workers=4, resume_weights='', resume_epoch=0)
示例#5
0
import os
import time

from tqdm import tqdm

from graphino.GCN.GCN_model import GCN

# Training settings
from graphino.training import evaluate, train_epoch, get_dataloaders, get_dirs
from utilities.hyperparams_and_args_GCN import get_argparser
from utilities.utils import set_seed
from utilities.model_logging import update_tqdm, save_model
from utilities.optimization import get_optimizer, get_loss

params, net_params = get_argparser()
set_seed(params['seed'])
(adj, static_feats, _), (trainloader, valloader,
                         testloader) = get_dataloaders(params, net_params)
ckpt_dir, log_dir = get_dirs(params, net_params)
# Model and optimizer
model = GCN(net_params, static_feat=static_feats, adj=adj)
optimizer = get_optimizer(params['optimizer'],
                          model,
                          lr=params['lr'],
                          weight_decay=params['weight_decay'],
                          nesterov=params['nesterov'])
criterion = get_loss(params['loss'])

# Train model
device = 'cuda'
t_total = time.time()
示例#6
0
    if torch.cuda.is_available():
        if not use_cuda:
            print("\n### WARNING: You have a CUDA device, "
                  "so you should probably run with --cuda\n")

    if use_cuda:
        print("Using GPU device_id:0")
        device_id = 0
        utils.use_cuda()
        torch.cuda.set_device(device_id)
    else:
        print("Cuda Not Available!!")
        device_id = None

    utils.set_seed(seed)

    ckptfilename = getCkptName(args.ckptname)
    ckptpath = os.path.join(ckptroot, modeltype, ckptfilename)
    print("CKPT PATH: {}".format(ckptpath))

    # Initialized reader, model and optimizer
    trainer = Trainer()
    print("Done modelinit")
    print("Mode : {}".format(mode))
    # print(trainer.tr_reader.ans2idx)

    if mode == 'train':
        (bestmodel, bestval, beststeps, steps) = trainer.train()
        print("Saving model: {}".format(ckptpath))
        utils.save_checkpoint(m=bestmodel,