def METHOD_NAME(self):
    print("Run inference")
    graph = tf.Graph()
    with graph.as_default():
        graph_def = tf.compat.v1.GraphDef()
        with open(self.args.input_graph, "rb") as f:
            graph_def.ParseFromString(f.read())
        output_graph = optimize_for_inference(graph_def, [INPUTS], [OUTPUTS],
                            dtypes.float32.as_datatype_enum, False)
        tf.import_graph_def(output_graph, name="")
    input_tensor = graph.get_tensor_by_name('input:0')
    output_tensor = graph.get_tensor_by_name('Identity:0')
    batch_size = self.args.batch_size
    warmup_steps = self.args.warmup_steps
    steps = self.args.steps
    if input_tensor.op.type != 'Placeholder':
        raise ValueError('input_layer should of type Placeholder')
    else:
        input_shape = [batch_size, 4, 224, 224, 160]
    print("Input shape {}".format(input_shape))
    input_data = np.random.randn(*input_shape).astype(np.float32)
    config = tf.compat.v1.ConfigProto()
    config.intra_op_parallelism_threads=self.args.num_intra_threads
    config.inter_op_parallelism_threads=self.args.num_inter_threads
    config.graph_options.rewrite_options.auto_mixed_precision_mkl = rewriter_config_pb2.RewriterConfig.ON
    with tf.compat.v1.Session(graph=graph, config=config) as sess:
        print("Started warmup for {} steps...".format(warmup_steps))
        for j in range(warmup_steps):
            _ = sess.METHOD_NAME(output_tensor, {input_tensor: input_data})
        print("Warmup done.")
        print("Started benchmark for {} steps...".format(steps))
        print("Inference with dummy data")
        start = time.time()
        for i in range(steps):
            if i%10 == 0:
                print("Iteration {}".format(i))
            output = sess.METHOD_NAME(output_tensor, {input_tensor: input_data})
        end = time.time()
        average_time = (end - start)/steps
        throughput = batch_size/average_time
        print("Average time for step: {} sec".format(average_time) )
        print("Throughput: {} samples/sec".format(throughput))
        if (self.args.batch_size == 1):
            print('Latency: %.3f ms' % (average_time * 1000))