LoC-Path
Pretrained LoC-Path weights for whole-slide pathology understanding from
pre-extracted CONCH-v1 features. This release uses a 128-latent resampler
(L=128), followed by routing to 96 visual latents (M=96) for CARA.
The language backbone is Qwen2.5-7B-Instruct, with LoRA rank 128.
Released checkpoints
| File | Training checkpoint | Purpose |
|---|---|---|
checkpoints/mae.pth |
100,000 iterations | Dedicated 128-latent MAE pretraining weights, including the reconstruction decoder |
checkpoints/stage1.pth |
3,615 iterations | Complete visual weights after report alignment |
checkpoints/stage2.pth |
20,480 iterations | Complete visual weights and Qwen LoRA for inference or initialization |
Each file is a PyTorch dictionary containing a tensor-only state_dict.
Checkpoints are consolidated in FP16 using the repository's ZeRO loader. Frozen
visual modules omitted by historical ZeRO saves are carried forward from their
MAE/Stage-1 sources into the complete exported state. A Stage-2 inference run
requires only stage2.pth, its matching config, the Qwen base model and features.
Qwen base weights are downloaded from Qwen/Qwen2.5-7B-Instruct by the LoC-Path loader. CONCH weights are obtained separately when extracting new features. This repository distributes the trained LoC-Path visual modules and LoRA; original image/report assets and optimizer/scheduler states are absent.
The model manifest records source checkpoints, tensor counts, sizes and SHA256 hashes. The validation summary records configuration/weight checks and execution tests.
Download
Install the LoC-Path training package using its README, then run:
export LOCPATH_MODEL_ROOT=$PWD/pretrained_models/LoC-Path
uv run --locked python - <<'PY'
import os
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="WinstonHu/LoC-Path",
repo_type="model",
revision="v1.0",
local_dir=os.environ["LOCPATH_MODEL_ROOT"],
)
PY
For inference-only use, optionally add
allow_patterns=["checkpoints/stage2.pth", "configs/locpath_stage2.py", "README.md", "model_manifest.json", "validation.json", "LICENSE"]
to the download call.
Run inference
Download the prepared WSI-Bench/BCNB data from WinstonHu/LoC-Path-Data. Run from the installed LoC-Path code directory:
export LOCPATH_DATA_ROOT=$PWD/data/LoC-Path-Data
export CONFIG="$LOCPATH_MODEL_ROOT/configs/locpath_stage2.py"
export CHECKPOINT="$LOCPATH_MODEL_ROOT/checkpoints/stage2.pth"
export FEATURE_ROOT="$LOCPATH_DATA_ROOT/features/conch_v1"
export DATA_DIR="$LOCPATH_DATA_ROOT/annotations/test/wsi_bench"
export NPROC_PER_NODE=1
CUDA_VISIBLE_DEVICES=0 uv run --locked bash scripts/test_vis_adapter.sh \
--image_feature_suffix .npy --router-top-m 96 \
--sample_num 61440 --max_new_tokens 512
For BCNB, set DATA_DIR="$LOCPATH_DATA_ROOT/annotations/test/external" and run
the same command. Its JSON points to the included numeric feature CSVs.
To use an already downloaded Qwen base, set
LOCPATH_LLM_PATH=/path/to/Qwen2.5-7B-Instruct.
Use the supplied configs: all three stages have 128 latent queries. Set CONFIG
to the corresponding file when invoking a training launcher:
| Launcher | Config | Initialization |
|---|---|---|
scripts/train_resampler_pretrain.sh |
configs/locpath_mae.py |
Train MAE from scratch, or initialize using the MAE weights |
scripts/train_stage1.sh |
configs/locpath_stage1.py |
LOCPATH_RESAMPLER_CKPT points to checkpoints/mae.pth |
scripts/train_stage2.sh |
configs/locpath_stage2.py |
LOCPATH_RESAMPLER_CKPT points to MAE; LOCPATH_STAGE2_PRETRAINED_PTH points to Stage 1 |
Set feature and annotation environment variables as described in the training package README. Training starts a new optimizer/scheduler run; these exports are weights for initialization and inference.
Validation and use
The three exports were loaded into their matching model architectures with all required LoC-Path tensors present and exact loaded values. The dedicated 128-latent Stage-2 model was tested on an actual Qwen2.5-7B backbone using prepared WSI-Bench and BCNB samples. Execution checks are distinct from a full benchmark-metric reproduction. Use this model for computational pathology research with the corresponding source-data and feature-extractor terms.
LoC-Path weights are released under Apache-2.0. Attribute the LoC-Path project and the Qwen base model. Data and CONCH terms are documented in the prepared-data repository and apply to those assets separately.