コード例 #1
0
def eval(args):
    # load model
    model = get_model(args,
                      0,
                      args.r,
                      from_ckpt=True,
                      train=False,
                      grocery=args.grocery)
    model.load(args.logname)  # from default checkpoint

    if args.wav_file_list:
        with open(args.wav_file_list) as f:
            for line in f:
                try:
                    print((line.strip()))
                    if (args.speaker == 'single'):
                        upsample_wav(
                            '../data/vctk/VCTK-Corpus/wav48/p225/' +
                            line.strip(), args, model)
                    else:
                        upsample_wav(
                            '../data/vctk/VCTK-Corpus/' + line.strip(), args,
                            model)
                except EOFError:
                    print('WARNING: Error reading file:', line.strip())
コード例 #2
0
def eval(args):
	# load model
	# model = get_model(args, 0, args.r, from_ckpt=True, train=False)
 # 	model.load(args.logname) # from default checkpoint
	num = 49
	model = torch.load(folder + "model_epoch_"+str(num)+".pth")
	avg_psnr = 0
	avg_snr = 0
	sum_x = 0
	sum_y = 0
	val_dir = '../data/vctk/vctk-speaker1-val.4.16000.8192.4096.h5'
	file_list = '../data/vctk/speaker1/speaker1-val-files.txt'
 	# X_val, Y_val = load_h5(args.val)
 	# dataset = loading(root_dir, transform=None)
	valset1 = loading(val_dir, transform=None)
	valset = DataLoader(valset1, batch_size=1, shuffle=False, num_workers=4)
	nb_batch = valset.__len__()
	with torch.no_grad():
		for i_batch, val in enumerate(valset):
		# for batch in range(nb_batch):
			# input, target = batch[0].to(device), batch[1].to(device)
			X_val, Y_val = val['lr'], val['hr']
			# print(X_val.numpy()[0].shape)
			# x_temp = X_val.numpy()[0]
			# y_temp = Y_val.numpy()[0]
			# x_S = computeSNR(x_temp,2048)
			# y_S = computeSNR(y_temp,2048)
			# sum_x += x_S
			# sum_y += y_S
			X_val = X_val.float()
			Y_val = Y_val.float()
			X_val = Variable(X_val.cuda(), requires_grad=False).permute(0, 2, 1) # compute N, C L 
			Y_val = Variable(Y_val.cuda(), requires_grad=False).permute(0, 2, 1)
			# print(X_val.size())
			# print(Y_val.size())
			prediction = model(X_val)
			mse = loss_function(prediction, Y_val)
			psnr = 10 * log10(1 / mse.item())
			snr = 10 * log10(1 / mse.cpu().data.numpy())
			avg_psnr += psnr
			avg_snr += snr

		print("===> Avg. SNR: {:.4f} dB".format(avg_snr / len(valset)))
		# print("===> X. SNR: {:.4f} dB".format(sum_x / len(valset)))
		# print("===> Y. SNR: {:.4f} dB".format(sum_y / len(valset)))


	with open(file_list) as f:
		for line in f:
			try:
				print(line.strip())
				upsample_wav(line.strip(), model)
			except EOFError:
				print('WARNING: Error reading file:', line.strip())
コード例 #3
0
def eval(args):
    # load model
    model = get_model(args, 0, args.r, from_ckpt=True, train=False)
    model.load(args.logname)  # from default checkpoint

    if args.wav_file_list:
        with open(args.wav_file_list) as f:
            for line in f:
                try:
                    print line.strip()
                    upsample_wav(line.strip(), args, model)
                except EOFError:
                    print 'WARNING: Error reading file:', line.strip()
コード例 #4
0
def eval(args):
    # load model
    model = get_model(args, 0, args.r, from_ckpt=True, train=False)
    model.load(args.logname)  # from default checkpoint

    upsample_wav(args.wav_file_list, args, model)