def METHOD_NAME(self):
    """This is neural_compressor function include tuning, export and benchmark option."""
    from neural_compressor import set_random_seed
    set_random_seed(9527)
    if args.tune:
        from neural_compressor import quantization
        from neural_compressor.config import PostTrainingQuantConfig
        from neural_compressor.utils.create_obj_from_config import create_dataloader
        calib_dataloader_args = {
            'batch_size': 10,
            'dataset': {"ImageRecord": {'root':args.dataset_location}},
            'transform': {'ResizeCropImagenet':
                 {'height': 224, 'width': 224, 'scale': 0.017,
                  'mean_value': [123.68, 116.78, 103.94]}},
            'filter': None
        }
        calib_dataloader = create_dataloader('tensorflow', calib_dataloader_args)
        eval_dataloader_args = {
            'batch_size': 32,
            'dataset': {"ImageRecord": {'root':args.dataset_location}},
            'transform': {'ResizeCropImagenet':
                 {'height': 224, 'width': 224, 'scale': 0.017,
                  'mean_value': [123.68, 116.78, 103.94]}},
            'filter': None
        }
        eval_dataloader = create_dataloader('tensorflow', eval_dataloader_args)
        conf = PostTrainingQuantConfig(calibration_sampling_size=[50, 100])
        from neural_compressor import METRICS
        metrics = METRICS('tensorflow')
        top1 = metrics['topk']()
        from neural_compressor.data import LabelShift
        postprocess = LabelShift(label_shift=1)
        def eval(model):
            return evaluate(model, eval_dataloader, top1, postprocess)
        q_model = quantization.fit(args.input_graph, conf=conf, calib_dataloader=calib_dataloader,
                    eval_func=eval)
        q_model.save(args.output_graph)
    if args.benchmark:
        from neural_compressor.utils.create_obj_from_config import create_dataloader
        dataloader_args = {
            'batch_size': args.batch_size,
            'dataset': {"ImageRecord": {'root':args.dataset_location}},
            'transform': {'ResizeCropImagenet': {'height': 224, 'width': 224, 'scale': 0.017,
                                                 'mean_value': [123.68, 116.78, 103.94]}},
            'filter': None
        }
        dataloader = create_dataloader('tensorflow', dataloader_args)
        from neural_compressor import METRICS
        metrics = METRICS('tensorflow')
        top1 = metrics['topk']()
        from neural_compressor.data import LabelShift
        postprocess = LabelShift(label_shift=1)
        def eval(model):
            return evaluate(model, dataloader, top1, postprocess)
        if args.mode == 'performance':
            from neural_compressor.benchmark import fit
            from neural_compressor.config import BenchmarkConfig
            conf = BenchmarkConfig(warmup=10, iteration=100, cores_per_instance=4, num_of_instance=1)
            fit(args.input_graph, conf, b_dataloader=dataloader)
        elif args.mode == 'accuracy':
            acc_result = eval(args.input_graph)
            print("Batch size = %d" % dataloader.batch_size)
            print("Accuracy: %.5f" % acc_result)