EchoSonar
sft/
SFT checkpoint (full fine-tune, step 1503) for the EchoVLM report-generation model.
sft/llm/โ full HFAutoModelForCausalLM-compatible checkpoint (Qwen3-8B backbone, full fine-tune) with tokenizer included. Load directly with:from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("daryataratynova8/echosonar", subfolder="sft/llm") tokenizer = AutoTokenizer.from_pretrained("daryataratynova8/echosonar", subfolder="sft/llm")sft/clip_projector.pt,sft/detr_projector.ptโstate_dicts for the CLIP and DETR vision-feature projectors (eachLayerNorm -> Linear -> GELU -> Linear, mapping vision feature dim to the LLM hidden size). These are not loadable viafrom_pretrained; load them manually into matchingnn.Sequentialmodules, e.g.:import torch clip_projector_sd = torch.load("clip_projector.pt", map_location="cpu") detr_projector_sd = torch.load("detr_projector.pt", map_location="cpu")
grpo/
GRPO-tuned checkpoint (grpo_final_exp_d_final_correct), built on top of sft/. GRPO trains a LoRA adapter (r=64) plus the two projectors on top of the frozen SFT LLM โ it does not replace the base LLM weights.
grpo/lora_adapter/โ PEFT LoRA adapter. Merge onto the SFT LLM:from transformers import AutoModelForCausalLM from peft import PeftModel base = AutoModelForCausalLM.from_pretrained("daryataratynova8/echosonar", subfolder="sft/llm") model = PeftModel.from_pretrained(base, "daryataratynova8/echosonar", subfolder="grpo/lora_adapter") model = model.merge_and_unload()grpo/clip_projector.pt,grpo/detr_projector.ptโ projectorstate_dicts (same shapes/format assft/, further fine-tuned during GRPO), loaded the same manual way.Tokenizer files are identical to
sft/llm/, included here for convenience.