viennh2012/cinemr-cardiac-sft
CineMR — SFT epoch 0 (LoRA on Qwen3-VL-8B-Instruct)
PEFT LoRA checkpoint from the first supervised fine-tuning epoch on top of `Qwen/Qwen3-VL-8B-Instruct`. This folder is not a full merged model: it contains adapter weights, tokenizer/processor configs, chat template, and a small tool-decision auxiliary head used during training.
Files in this directory
LoRA configuration (adapter_config.json)
Loading the LoRA adapter
import torch
from transformers import AutoModelForVision2Seq, AutoProcessor
from peft import PeftModel
base_id = "Qwen/Qwen3-VL-8B-Instruct"
adapter_dir = "." # path to this `epoch0` directory
base = AutoModelForVision2Seq.from_pretrained(
base_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
model = PeftModel.from_pretrained(base, adapter_dir, is_trainable=False)
processor = AutoProcessor.from_pretrained(adapter_dir, trust_remote_code=True)Match torch_dtype / device_map to your inference or merge pipeline. The `tool_decision_head.pt` head is not loaded by PeftModel.from_pretrained; if your runtime expects it, load it with the same training code path that produced this checkpoint.
Downstream
Merged full-weight exports used elsewhere in this tree (e.g. `Data/cardiac_outputs/sft_merged_easyr1`) may combine multiple SFT stages; this `epoch0` snapshot is the first-epoch LoRA only. Align training data and licenses with your Cardiac / VLM SFT recipe.
Limitations
- Medical / imaging: outputs are not clinical devices; verify on your data and governance rules.
- Tool head: auxiliary weights are training-specific; document behavior if you ship a public API.
License
Use consistent with Qwen3-VL, PEFT, and the datasets you used for SFT.
Citation
@misc{cinemr_sft_epoch0_lora_qwen3vl8b,
title = {CineMR SFT epoch 0 --- LoRA on Qwen3-VL-8B-Instruct},
howpublished = {Local PEFT adapter export},
year = {2026},
note = {Includes tool\_decision\_head auxiliary checkpoint},
}