# input_tensor is tensor, format CxHxW, data range [0.0, 1.0] input_tensor.unsqueeze_(0) input_tensor = input_tensor.to(device) with torch.no_grad(): output_tensor = model(input_tensor) output_tensor.squeeze_(0) output_image = tensor_to_image(output_tensor.cpu()) output_image.save("{}/{:03d}.png".format(output_dir, i)) if __name__ == '__main__': # Define specific options and parse arguments parser.add_argument("-i", "--input", help="input video", required=True, type=str) parser.add_argument("-o", "--output", help="output video directory, defaut: /tmp/output", type=str, default="/tmp/output") parser.add_argument('--checkpoint-file', type=str, default="output/WDSR-B-f32-b16-r6-x4-best.pth.tar") args = parser.parse_args() # Set cuDNN auto-tuner and get device device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
psnr.update( calc_psnr(sr, hr, scale=args.scale, max_value=args.rgb_range[1]), lr.shape[0]) t.set_postfix(loss='{:.4f}'.format(losses.avg)) t.update(lr.shape[0]) return losses.avg, psnr.avg if __name__ == '__main__': # Define specific options and parse arguments parser.add_argument('--dataset-dir', type=str, required=True, help='DIV2K Dataset Root Directory') parser.add_argument('--output-dir', type=str, required=True) parser.add_argument('--checkpoint-file', type=str, required=True) args = parser.parse_args() # Set cuDNN auto-tuner and get device for learning cudnn.benchmark = True device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') # Set random seed random.seed(args.seed) torch.manual_seed(args.seed) # Create a directory to store weights
sr = forward(lr) # Quantize results sr = quantize(sr, args.rgb_range) # Update PSNR psnr.update(calc_psnr(sr, hr, scale=args.scale, max_value=args.rgb_range[1]), lr.shape[0]) t.update(lr.shape[0]) print('DIV2K (val) PSNR: {:.4f} dB'.format(psnr.avg)) if __name__ == '__main__': # Define specific options and parse arguments parser.add_argument('--dataset-dir', type=str, required=True, help='DIV2K Dataset Root Directory') parser.add_argument('--checkpoint-file', type=str, required=True) parser.add_argument('--self-ensemble', action='store_true') args = parser.parse_args() # Set cuDNN auto-tuner and get device cudnn.benchmark = True device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') # Create model if args.model == 'WDSR-B': model = WDSR_B(args).to(device) else: model = WDSR_A(args).to(device) # Load weights