1!pip install transformers numpy onnx onnxruntime -q
2
3import onnxruntime as ort
4from transformers import AutoTokenizer
5import numpy as np
6import requests
7
8onnx_model_url = "https://huggingface.co/alanjoshua2005/Bert-sms-spam-detector-onnx/resolve/main/bert_sms_detector.onnx"
9onnx_model_path = "bert_sms_detector.onnx"
10with open(onnx_model_path, "wb") as f:
11 f.write(requests.get(onnx_model_url).content)
12
13# Load tokenizer from the correct repository
14tokenizer = AutoTokenizer.from_pretrained("alanjoshua2005/Bert-sms-spam-detector-onnx")
15
16session = ort.InferenceSession(onnx_model_path, providers=["CPUExecutionProvider"])
17
18text = "Congratulations! You won a free prize."
19
20inputs = tokenizer(text, return_tensors="np", padding="max_length", truncation=True, max_length=64)
21onnx_inputs = {
22 "input_ids": inputs["input_ids"].astype(np.int64),
23 "attention_mask": inputs["attention_mask"].astype(np.int64)
24}
25
26outputs = session.run(None, onnx_inputs)
27logits = outputs[0]
28predicted_class = int(np.argmax(logits, axis=1)[0])
29class_map = {0: "Ham (Not Spam)", 1: "Spam"}
30print(f"Predicted class: {class_map[predicted_class]}")