import argparse import numpy as np from paddle.fluid.core import AnalysisConfig from paddle.fluid.core import create_paddle_predictor def main(): args = parse_args() config = set_config(args) predictor = create_paddle_predictor(config) input_names = predictor.get_input_names() input_tensor = predictor.get_input_tensor(input_names[0]) fake_input = np.random.randn(1, 3, 769, 769).astype("float32") input_tensor.reshape([1, 3, 769, 769]) input_tensor.copy_from_cpu(fake_input) predictor.zero_copy_run() output_names = predictor.get_output_names() output_tensor = predictor.get_output_tensor(output_names[0]) output_data = output_tensor.copy_to_cpu() def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--model_file", type=str, help="model filename") parser.add_argument("--params_file", type=str, help="parameter filename") parser.add_argument("--batch_size", type=int, default=1, help="batch size") return parser.parse_args() def set_config(args): config = AnalysisConfig(args.model_file, args.params_file) config.disable_gpu() config.enable_mkldnn() config.switch_use_feed_fetch_ops(False) config.switch_specify_input_names(True) # config.delete_pass("depthwise_conv_mkldnn_pass") return config if __name__ == "__main__": main()