polodealvarado/zero-shot-text-classification
Viewer • Updated • 1k • 18
How to use polodealvarado/projection_biencoder with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("zero-shot-classification", model="polodealvarado/projection_biencoder") # Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("polodealvarado/projection_biencoder", dtype="auto")# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("polodealvarado/projection_biencoder", dtype="auto")CLIP-inspired with projection heads, L2 norm, and learnable temperature.
This model encodes texts and candidate labels into a shared embedding space using BERT, enabling classification into arbitrary categories without retraining for new labels.
| Parameter | Value |
|---|---|
| Base model | bert-base-uncased |
| Model variant | projection_biencoder |
| Training steps | 1000 |
| Batch size | 2 |
| Learning rate | 2e-05 |
| Trainable params | 109,679,105 |
| Training time | 318.3s |
Trained on polodealvarado/zeroshot-classification.
| Metric | Score |
|---|---|
| Precision | 0.9431 |
| Recall | 0.9826 |
| F1 Score | 0.9624 |
from models.projection import ProjectionBiEncoderModel
model = ProjectionBiEncoderModel.from_pretrained("polodealvarado/projection_biencoder")
predictions = model.predict(
texts=["The stock market crashed yesterday."],
labels=[["Finance", "Sports", "Biology", "Economy"]],
)
print(predictions)
# [{"text": "...", "scores": {"Finance": 0.98, "Economy": 0.85, ...}}]
Base model
google-bert/bert-base-uncased
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-classification", model="polodealvarado/projection_biencoder")