UIE ONNX模型使用指南
本指南介绍如何使用和导出UIE (Universal Information Extraction) 模型的ONNX版本。
模型说明
UIE模型是一个通用信息抽取模型,基于BERT架构。该模型可以导出为ONNX格式以实现更快的推理速度。
模型输入
模型接受以下输入张量:
input_ids: 形状为[batch_size, sequence_length]的整型张量attention_mask: 形状为[batch_size, sequence_length]的整型张量token_type_ids: 形状为[batch_size, sequence_length]的整型张量
其中:
batch_size: 批处理大小,可变sequence_length: 序列长度,可变- 所有输入张量的数据类型均为
int64
模型输出
模型输出以下张量:
start_prob: 形状为[batch_size, sequence_length]的浮点张量,表示每个位置作为实体开始的概率end_prob: 形状为[batch_size, sequence_length]的浮点张量,表示每个位置作为实体结束的概率
使用示例
import onnxruntime as ort
tokenizer = AutoTokenizer.from_pretrained("xusenlin/uie-base")
session = ort.InferenceSession("path/to/model.onnx")
intput = "张三与B公司签订了一份合同,约定了合同金额为100万元,合同期限为一年。"
schema = ["人名", "公司", "金额", "时间"]
input_ids_tensor, attention_mask, token_type_ids, offsets_mapping = tokenizer(
intput,
schema[0],
return_tensors="pt",
return_offsets_mapping=True,
add_special_tokens=True
)
inputs = {
"input_ids": input_ids_tensor, # shape: [batch_size, sequence_length]
"attention_mask": attention_mask, # shape: [batch_size, sequence_length]
"token_type_ids": token_type_ids # shape: [batch_size, sequence_length]
}
outputs = session.run(None, inputs)
start_probs, end_probs = outputs
# use offsets_mapping and start_probs, end_probs to get the entities
# ...
- Downloads last month
- -