def METHOD_NAME(model):
    predict = []
    text = []
    results = {}
    batch_time = AverageMeter('Time', ':6.3f')
    with torch.inference_mode():
        for i, wave in enumerate(val_dataloader):
            if i >= args.warmup_iter:
                start = time.time()
            emission, _ = model(wave[0][0])
            transcript = decoder(emission[0])
            # measure elapsed time
            if i >= args.warmup_iter:
                batch_time.update(time.time() - start)
            predict.append(transcript)
            text.append(wave[2][0])
            if args.iters > 0 and i >= (args.warmup_iter + args.iters - 1):
                break
        prediction = [pre.replace("|", " ")for pre in predict]
        WER = wer(text, prediction)
    results['WER'] = WER
    results['accuracy'] = 1 - WER
    results['average_batch_time'] = batch_time.avg
    print("Accuracy: %.5f" % results['accuracy'])
    print('Latency: %.3f ms' % (results['average_batch_time'] * 1000))
    print('Throughput: %.3f images/sec' % (args.batch_size / results['average_batch_time']))
    print('Batch size = %d' % args.batch_size)
    return results['accuracy']