davanstrien/dataset-schema-task-classifier
016
dataset-schema-task-classifier
LiquidAI/LFM2.5-Encoder-350M fine-tuned for multi-label text classification on davanstrien/dataset-schemas-with-task-categories.
- Labels (35):
audio-classification,audio-to-audio,automatic-speech-recognition,feature-extraction,fill-mask,image-classification,image-feature-extraction,image-segmentation,image-text-to-text,image-to-3d,image-to-image,image-to-text,multiple-choice,object-detection,question-answering,reinforcement-learning,robotics,sentence-similarity,summarization,table-question-answering,tabular-classification,tabular-regression,text-classification,text-generation,text-retrieval,text-to-image,text-to-speech,text-to-video,time-series-forecasting,token-classification, … (35 total) - Date: 2026-07-29 13:00 UTC
[!NOTE] This model uses a custom classification head (mean pooling over a backbone without a native sequence-classification class), so loading requires trust_remote_code=True. vLLM serving requires a standard architecture.Evaluation
Per-label decision thresholds tuned on the eval split are stored in config.classifier_thresholds.
Choosing an operating point: the stored thresholds maximise per-label F1. For precision-first use (e.g. auto-applying labels), act only on predictions well above their threshold — sigmoid probabilities are a usable confidence signal, and filtering to high-confidence predictions trades coverage for precision. Route the rest to review.
Usage
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("davanstrien/dataset-schema-task-classifier", trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained("davanstrien/dataset-schema-task-classifier", trust_remote_code=True)
inputs = tokenizer("your text here", return_tensors="pt", truncation=True)
probs = torch.sigmoid(model(**inputs).logits)[0]
thresholds = torch.tensor(model.config.classifier_thresholds) # tuned on validation
labels = [model.config.id2label[i] for i in (probs >= thresholds).nonzero().flatten().tolist()]
print(labels)Reproduction
Produced on Hugging Face Jobs (gpu) with the `train-classifier.py` recipe from uv-scripts. Run it yourself:
hf jobs uv run --flavor gpu --secrets HF_TOKEN \
https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-classifier.py \
davanstrien/dataset-schemas-with-task-categories davanstrien/dataset-schema-task-classifier --label-column labels