Views
No views yet
| Path | Description | Size |
|---|---|---|
a1_lstm/best.pt | A1: CLIP + PhoBERT + Co-Attention + LSTM decoder | ~2.4 GB |
a2_transformer/best.pt | A2: CLIP + PhoBERT + Co-Attention + Transformer decoder | ~2.5 GB |
b2_sft_lora/ | B2-SFT: Qwen2.5-VL-3B QLoRA adapter (best checkpoint) | ~153 MB |
b2_dpo_lora/ | B2-DPO: Qwen2.5-VL-3B DPO-aligned adapter (500 pairs, balanced) | ~153 MB |
stable_diffusion_lora/ | SD LoRA: Stable Diffusion v1.5 LoRA on traffic sign images (12k steps) | ~6 MB |
| Model | VQA Acc | BLEU-4 | ROUGE-L | BERTScore | Latency |
|---|---|---|---|---|---|
| A1 LSTM | 0.9484 | 0.9602 | 0.9584 | 0.9631 | ~11 ms |
| A2 Transformer | 0.9377 | 0.9476 | 0.9486 | 0.9713 | ~13 ms |
| B1 Zero-shot | 0.1962 | 0.0350 | 0.2899 | 0.4753 | ~167 ms |
| B2-SFT QLoRA | 0.9379 | 0.9494 | 0.9508 | 0.9111 | ~484 ms |
1import torch
2from models.model_a import VQAModelA
3
4model = VQAModelA(decoder_type="lstm") # or "transformer"
5ckpt = torch.load("a1_lstm/best.pt", map_location="cpu")
6model.load_state_dict(ckpt["model_state_dict"])1python evaluate/evaluate.py \
2 --model b2 --backend qwen25 --load-in-4bit \
3 --checkpoint b2_sft_lora/ \
4 --data data/processed/annotations1from diffusers import StableDiffusionPipeline
2pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
3pipe.load_lora_weights("stable_diffusion_lora/")
4image = pipe("a Vietnamese street intersection with traffic signs").images[0]