for key in testset.spk2label: idx_to_class[str(testset.spk2label[key].squeeze().item())] = key print(idx_to_class, '\n') ckpt = torch.load(args.cp_path, map_location=lambda storage, loc: storage) if args.model == 'cnn': model = base_cnn.CNN(n_classes=args.nclasses) elif args.model == 'vgg': model = vgg.VGG('VGG11', n_classes=args.nclasses) elif args.model == 'resnet': model = resnet.ResNet12(n_classes=args.nclasses) elif args.model == 'densenet': model = densenet.DenseNet121(n_classes=args.nclasses) elif args.model == 'tdnn': model = TDNN.TDNN(n_classes=args.nclasses) try: print(model.load_state_dict(ckpt['model_state'], strict=True)) print('\n') except RuntimeError as err: print("Runtime Error: {0}".format(err)) except: print("Unexpected error:", sys.exc_info()[0]) raise print('\n\nNumber of parameters: {}\n'.format( sum(p.numel() for p in model.parameters()))) if args.cuda: device = get_freer_gpu()
def main(): # init log log_dir = os.path.join('checkpoint', data_configs.speaker) infolog.init(os.path.join(log_dir, 'Terminal_train_log'), model_configs.model_name, None) # train model if model_configs.model_name == 'TDNN': model = TDNN(data_configs, model_configs, training_configs) model.initialize() model.train() elif model_configs.model_name == 'TDNN_LSTM': model = TDNN_LSTM(data_configs, model_configs, training_configs) model.initialize() model.train()