Views
No views yet
| Attribute | Value |
|---|---|
| Task | Toxicity Detection |
| Format | .tflite (Float32) |
| File Size | 417.1 MB |
| Input Length | 128 tokens |
| Output Dim | 6 |
1import numpy as np
2from ai_edge_litert.interpreter import Interpreter
3from transformers import AutoTokenizer
4
5model_path = "unitary_toxic-bert.tflite"
6interpreter = Interpreter(model_path=model_path)
7interpreter.allocate_tensors()
8
9tokenizer = AutoTokenizer.from_pretrained("unitary/toxic-bert")
10labels = ["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]
11
12def predict(text):
13 # Tokenize
14 inputs = tokenizer(text, max_length=128, padding="max_length", truncation=True, return_tensors="np")
15
16 # Set inputs
17 input_details = interpreter.get_input_details()
18 interpreter.set_tensor(input_details[0]['index'], inputs['input_ids'].astype(np.int64))
19 interpreter.set_tensor(input_details[1]['index'], inputs['attention_mask'].astype(np.int64))
20
21 # Run inference
22 interpreter.invoke()
23
24 # Get output (Logits)
25 output_details = interpreter.get_output_details()
26 logits = interpreter.get_tensor(output_details[0]['index'])[0]
27
28 # Softmax to get probabilities
29 probs = np.exp(logits) / np.sum(np.exp(logits))
30
31 # Get top label
32 top_idx = np.argmax(probs)
33 return labels[top_idx], probs[top_idx]
34
35label, confidence = predict("This is amazing!")
36print(f"Result: {label} ({confidence:.2f})")