paddle lite2.10 python推理接口

引用

from paddlelite.lite import *

创建config

# 1. Set config information
config = MobileConfig()
# 2. Set the path to the model generated by opt tools
config.set_model_from_file(args.model_dir)

示例:

config = MobileConfig()

// 设置 NaiveBuffer 格式模型目录,从文件加载模型时使用
config.set_model_from_file(<your_model_path>)

// 设置工作线程数
config.set_threads(4)

// 设置能耗模式
config.set_power_mode(LITE_POWER_HIGH)

// 根据 MobileConfig 创建 PaddlePredictor
predictor = create_paddle_predictor(config)

创建predictor

# Create predictor by config
predictor = create_paddle_predictor(config)

LightPredictor

LightPredictor是Paddle Lite的预测器,由create_paddle_predictor根据MobileConfig进行创建。

get_input(index)

获取输入Tensor,用来设置模型的输入数据。

参数:

  • index(int) - 输入Tensor的索引

返回:第index个输入Tensor

返回类型:Tensor

get_output(index)

获取输出Tensor,用来获取模型的输出结果。

参数:

  • index(int) - 输出Tensor的索引

返回:第index个输出Tensor

返回类型:Tensor

run()

执行模型预测,需要在***设置输入数据后***调用。

参数:

  • None

返回:None

返回类型:None

tensor

resize(shape)

设置Tensor的维度信息。

参数:

  • shape(list) - 维度信息

返回:None

返回类型:None

shape()

获取Tensor的维度信息。

参数:

  • None

返回:Tensor的维度信息

返回类型:list

numpy()

获取Tensor的持有的数据。

示例:

output_tensor = predictor.get_output(0)
output_data = output_tensor.numpy()
print(output_data)

参数:

  • None

返回:Tensor持有的数据

返回类型:numpy.array

from_numpy(np.array)

设置Tensor的持有数据。

示例:

import numpy as np
input_tensor = predictor.get_input(0)
input_tensor.from_numpy(np.ones([1, 3, 224, 224].astype("float32")))

参数:

  • numpy.array - 待设置的数据

返回:None

返回类型:None

set_lod(lod)

设置Tensor的LoD信息。

参数:

  • lod(list[list]) - Tensor的LoD信息

返回:None

返回类型:None

lod()

获取Tensor的LoD信息

参数:

  • None

返回:Tensor的LoD信息

返回类型:list[list]

float_data()

获取Tensor的持有的float型数据。

示例:

output_tensor = predictor.get_output(0)
print(output_tensor.shape())
print(output_tensor.float_data()[:10])

参数:

  • None

返回:Tensor持有的float型数据

返回类型:list

set_float_data(float_data)

设置Tensor持有float数据。

示例:

input_tensor = predictor.get_input(0)
input_tensor.resize([1, 3, 224, 224])
input_tensor.set_float_data([1.] * 3 * 224 * 224)

参数:

  • float_data(list) - 待设置的float型数据

返回:None

返回类型:None

demo

from __future__ import print_function
from paddlelite.lite import *
import numpy as np
import argparse

# Command arguments
parser = argparse.ArgumentParser()
parser.add_argument("--model_file", type=str, help="the path to optimized model after opt tool")
args = parser.parse_args()

# 1. 设置MobileConfig
config = MobileConfig()
config.set_model_from_file(args.model_file)

# 2. 创建LightPredictor
predictor = create_paddle_predictor(config)

# 3. 设置输入数据
input_tensor = predictor.get_input(0)
input_tensor.from_numpy(np.ones((1, 3, 224, 224)).astype("float32"))

# 4. 运行模型
predictor.run()

# 5. 获取输出数据
output_tensor = predictor.get_output(0)
output_data = output_tensor.numpy()
print(output_data)

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×