PHerc. Paris 4 β€” self-trained fiber teacher UNet (epoch 30)

Internal pipeline component, not a general-purpose fiber detector. This is the frozen fiber-segmentation UNet used both to (1) warm-start and (2) generate dynamic pseudo-labels for scrollprize/fiber_dinoguided_2class_step010000, which is itself a precursor checkpoint further along the same lineage. It is superseded in quality by that later checkpoint, which adds DINO-embedding guidance on top of this model's own predictions. We are publishing it for reproducibility: anyone replicating the fiber_dinoguided_2class training run needs this exact checkpoint as an input.

Model details

Architecture vesuvius NetworkFromConfig 3D UNet (shared_encoder / shared_decoder / task_heads) β€” verified directly from the checkpoint: 544 encoder tensors, 60 decoder tensors, a single task head
Output 2 channels, head named task_heads.fibers β€” no ink head is present in this checkpoint (verified directly: only one task head exists in the state dict, named fibers)
Checkpoint format nnU-Net-style: top-level keys model, optimizer, scheduler, epoch, normalization_scheme (zscore), intensity_properties β€” no EMA weights are stored in this checkpoint
Epoch 30 (stored as epoch: 29, 0-indexed)
Filename fragments selftrain (self-training, no fixed ground truth), prom08, demo06, dark70 β€” likely threshold/hyperparameter values from its self-training curriculum; not independently decoded by us

Per the path recorded inside the downstream fiber_dinoguided_2class run's own config (.../selftrain-prom08-demo06-dark70-from-thr07ep95-cross-frame_epoch30.pth), this checkpoint's own name suggests it descends from an earlier "threshold-0.7, epoch-95, cross-frame"-trained checkpoint β€” plausibly connected to villa PR #825's cross-frame affine-registration training infrastructure, though we did not independently trace that earlier lineage step ourselves.

Role in the pipeline

Used by W&B run ihoo3tpl (β†’ scrollprize/fiber_dinoguided_2class_step010000) as:

  1. student_init_ckpt β€” warm-start weights for that run's new student model.
  2. dynamic_label.unet_ckpt β€” its own live inference probability map feeds the Otsu-threshold step of that run's per-step dynamic pseudo-labeling.

We found no evidence this checkpoint has any ink-related capability β€” only the single fibers task head exists in its state dict.

Files

File Size
frozen_teacher_unet__selftrain_prom08_demo06_dark70_epoch30.pth ~1.1 GB

Usage

import torch
from huggingface_hub import hf_hub_download

path = hf_hub_download(
    "scrollprize/fiber_selftrain_teacher_epoch30",
    "frozen_teacher_unet__selftrain_prom08_demo06_dark70_epoch30.pth",
)
ckpt = torch.load(path, map_location="cpu", weights_only=False)
state = ckpt["model"]   # no EMA weights are stored in this checkpoint
# Build with vesuvius' NetworkFromConfig (target "fibers", out_channels=2,
# in_channels=1) then load_state_dict(state).

Related models

Links

License

MIT.

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

Collection including scrollprize/fiber_selftrain_teacher_epoch30