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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for WinstonHu/LoC-Path

Base model

Qwen/Qwen2.5-7B
Adapter
(2834)
this model

Dataset used to train WinstonHu/LoC-Path