ONNX 模型库
返回模型

说明文档

使用示例

import onnxruntime as ort
import numpy as np
from transformers import MobileBertTokenizer

# 设置模型和分词器路径
model_path = r'C:\NEW_tinybert\AI\tinybert_model.onnx'  # ONNX 模型路径
tokenizer_path = r'C:\NEW_distilbert\AI'  # 本地分词器路径

# 初始化 ONNX 模型会话
ort_session = ort.InferenceSession(model_path)

# 加载 MobileBERT 分词器
tokenizer = MobileBertTokenizer.from_pretrained(tokenizer_path)

# 文本分类函数
def test_model(text):
    \"\"\"
    使用 ONNX 模型对输入文本进行分类的函数
    Args:
        text (str): 要分析的文本
    Returns:
        str: 预测结果消息
    \"\"\"
    # 将输入文本分词并转换为 ONNX 模型输入格式
    inputs = tokenizer(
        text,
        padding=\"max_length\",  # 将输入长度固定为 128
        truncation=True,       # 截断过长的文本
        max_length=128,        # 最大 token 长度
        return_tensors=\"np\"    # 以 NumPy 数组格式返回
    )
    
    # 将 NumPy 数组转换为 int64
    input_ids = inputs[\"input_ids\"].astype(np.int64)
    attention_mask = inputs[\"attention_mask\"].astype(np.int64)
    
    # 准备 ONNX 模型输入
    ort_inputs = {
        \"input_ids\": input_ids,
        \"attention_mask\": attention_mask
    }
    
    # 执行 ONNX 模型推理
    outputs = ort_session.run(None, ort_inputs)
    logits = outputs[0]  # 模型输出(logit 值)

    # 将 logit 值转换为概率并预测类别
    predicted_class = np.argmax(logits, axis=1).item()

    # 返回结果
    return \"可能是浪漫骗局\" if predicted_class == 1 else \"不是浪漫骗局\"

# 要测试的对话内容
test_texts = [
    \"你没有妈妈吗?\",
    \"我是介绍金融产品的人。投资的话收益很大。\",
    \"我的下面发烫了\",
    \"想摸我的胸部吗??\"
]

# 输出每个测试文本的结果
for text in test_texts:
    result = test_model(text)
    print(f\"输入: {text} => 结果: {result}\")

gihakkk/tinybert_model

作者 gihakkk

↓ 1 ♥ 0

创建时间: 2025-01-04 14:07:54+00:00

更新时间: 2025-01-04 14:14:32+00:00

在 Hugging Face 上查看

文件 (8)

.gitattributes
README.md
config.json
model.safetensors
special_tokens_map.json
tinybert_model.onnx ONNX
tokenizer_config.json
vocab.txt