28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
import paddle
|
|
import numpy as np
|
|
from paddlenlp.transformers import ErnieTokenizer
|
|
import paddle.nn.functional as F # 用于 Softmax
|
|
# 加载模型和tokenizer
|
|
model = paddle.jit.load("trained_model_static") # 加载保存的静态图模型
|
|
tokenizer = ErnieTokenizer.from_pretrained("E:/workingSpace/PycharmProjects/Intention/models/ernie-3.0-tiny-base-v2-zh")
|
|
|
|
# 创建输入示例
|
|
text = "今天送变电二公司有?"
|
|
inputs = tokenizer(text, max_length=256, truncation=True, padding='max_length', return_tensors="pd")
|
|
|
|
# 将输入数据转化为 Paddle tensor 格式
|
|
input_ids = paddle.to_tensor(inputs["input_ids"])
|
|
|
|
# 进行推理
|
|
model.eval() # 确保模型在推理模式
|
|
logits = model(input_ids) # 模型推理得到logits
|
|
|
|
# 使用 Softmax 转换 logits 为概率
|
|
probabilities = F.softmax(logits, axis=1) # 归一化 logits 得到概率分布
|
|
# 获取最大概率的标签
|
|
max_prob_idx = np.argmax(probabilities.numpy(), axis=1)
|
|
max_prob_value = np.max(probabilities.numpy(), axis=1)
|
|
# 输出预测结果
|
|
print(f"Predicted label: {max_prob_idx}")
|
|
print(f"Predicted label: {max_prob_value}")
|