Instructions to use duttaprat/HViLM-R0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use duttaprat/HViLM-R0 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="duttaprat/HViLM-R0", trust_remote_code=True)# Load model directly from transformers import AutoModelForSequenceClassification model = AutoModelForSequenceClassification.from_pretrained("duttaprat/HViLM-R0", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
HViLM-R0
HViLM-R0 is the official HViLM model for binary virus transmissibility classification using the threshold R₀ < 1 versus R₀ ≥ 1.
- Fine-tuned from: duttaprat/HViLM-base
- Benchmark: duttaprat/HVUE-v2
- HVUE v2 configuration:
Transmissibility/standard_capped_1000bp - Checkpoint selection: best validation F1 (
checkpoint-21000) - Input: virus nucleotide sequence
- Output: R₀ < 1 vs. R₀ ≥ 1 class
This repository contains a standalone full fine-tuned checkpoint, so users can load duttaprat/HViLM-R0 directly without separately loading HViLM-base.
Label Mapping
| ID | Label |
|---|---|
| 0 | R0_LT_1 |
| 1 | R0_GE_1 |
Performance
Held-out HVUE v2 test set, standard 1000-nt configuration:
| Metric | Score |
|---|---|
| Accuracy | 87.50 |
| F1 | 86.16 |
| MCC | 72.66 |
| Precision | 86.79 |
| Recall | 85.64 |
Training Details
- Fine-tuning method: LoRA
- LoRA rank: 8
- LoRA alpha: 16
- Target modules: query and value projections across all 12 transformer layers
- Approximate trainable LoRA parameters: ~0.3M
- Learning rate: 3e-5
- Maximum input length: 250 BPE tokens (approximately 1000 nt)
- Early stopping: patience 3, monitored using validation F1
- Hardware: NVIDIA A40 GPU
The released repository contains the full task-specific model weights rather than only the LoRA adapter.
Usage
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_id = "duttaprat/HViLM-R0"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForSequenceClassification.from_pretrained(
model_id,
trust_remote_code=True,
)
sequence = "ATGCGTACGTTAGCCGATCGATTACGCGTACGTAGCTAGC"
inputs = tokenizer(
sequence,
return_tensors="pt",
truncation=True,
max_length=250,
)
with torch.no_grad():
logits = model(**inputs).logits
prediction_id = logits.argmax(dim=-1).item()
print(model.config.id2label[prediction_id])
Possible outputs are R0_LT_1 and R0_GE_1.
Intended Use
HViLM-R0 is intended for research and benchmarking of sequence-based transmissibility classification. The benchmark classes should not be interpreted as direct estimates of a virus's reproduction number in a specific population or outbreak.
Related Resources
Citation
@article{dutta2026hvilm,
title={HViLM: A foundation model for viral genomics enables multi-task prediction of pathogenicity, transmissibility, and host tropism},
author={Dutta, Pratik and Vaska, Jack and Surana, Pallavi and Sathian, Rekha and Chao, Max and Zhou, Zhihan and Liu, Han and Davuluri, Ramana V},
journal={bioRxiv},
pages={2026--03},
year={2026},
publisher={Cold Spring Harbor Laboratory}
}
- Downloads last month
- -