Ejemplo n.º 1
0
    return sum_loss


def save_model(model, epoch, model_weight_path, checkpoint_path):
    """
    save model weight without embedding
    :param model:
    :param epoch:
    :param model_weight_path:
    :param checkpoint_path:
    :return:
    """
    # save model weight
    model_weight = model.state_dict()
    del model_weight['embedding.embedding_layer.weight']

    torch.save(model_weight, model_weight_path)

    with open(checkpoint_path, 'w') as checkpoint_f:
        checkpoint_f.write('epoch=%d' % epoch)


if __name__ == '__main__':
    init_logging()

    parser = argparse.ArgumentParser(description="train on the model")
    parser.add_argument('--config', '-c', required=False, dest='config_path', default='config/global_config.yaml')
    args = parser.parse_args()

    train(args.config_path)
Ejemplo n.º 2
0
__author__ = 'han'

import os
import torch
import logging
import argparse
import torch.optim as optim
from dataset.squad_dataset import SquadDataset
from models.match_lstm import MatchLSTMModel
from models.loss import MyNLLLoss
from utils.load_config import init_logging, read_config
from utils.eval import eval_on_model
from utils.functions import pop_dict_keys

init_logging()
logger = logging.getLogger(__name__)


def main(config_path):
    logger.info('------------Match-LSTM Train--------------')
    logger.info('loading config file...')
    global_config = read_config(config_path)

    # set random seed
    seed = global_config['model']['global']['random_seed']
    torch.manual_seed(seed)

    enable_cuda = global_config['train']['enable_cuda']
    device = torch.device("cuda" if enable_cuda else "cpu")
    if torch.cuda.is_available() and not enable_cuda:
Ejemplo n.º 3
0
parser = argparse.ArgumentParser(description="preprocess/train/test the model")
parser.add_argument('mode', help='preprocess or train or test')
parser.add_argument('--config',
                    '-c',
                    required=False,
                    dest='config_path',
                    default='config/global_config.yaml')
parser.add_argument('--output', '-o', required=False, dest='out_path')
parser.add_argument('--remark', required=False, dest='remark', default="")
args = parser.parse_args()

cur_time = time.strftime('%Y-%m-%d-%H_%M_%S', time.localtime())
host_name = socket.gethostname()
experiment_info = host_name + "_" + cur_time + "_" + args.remark

init_logging(experiment_info)
logger = logging.getLogger(__name__)
logger.info('========================  %s  =================================' %
            experiment_info)
if args.mode == 'preprocess':
    preprocess(args.config_path)
elif args.mode == 'train':
    train(args.config_path, experiment_info, training_info)
elif args.mode == 'debug':
    debug(args.config_path, experiment_info)
elif args.mode == 'test':
    test(args.config_path, experiment_info)
elif args.mode == 'train_5c':
    train_5c(args.config_path, experiment_info, training_info)
elif args.mode == 'test_5c':
    test_5c(args.config_path, experiment_info)