Erase at the Core checkpoints

Official checkpoints for Erase at the Core: Representation Unlearning for Machine Unlearning. This model repository provides the original backbones, retrained oracles, pretrained Erase-at-the-Core (EC) modules, and final EC-unlearned models needed to reproduce the released ImageNet-1K and CIFAR-100 experiments.

The code repository contains the launchers, environment file, and complete reproduction guide for these checkpoints.

Available checkpoints

Dataset Backbone Forget benchmark Original Retrained EC modules Final EC model
ImageNet-1K ResNet-50 Random-100 imagenet1k/resnet50/original.pth.tar imagenet1k/resnet50/retrained_random100.pth.tar imagenet1k/resnet50/ec_modules.tar imagenet1k/resnet50/ec_unlearned_random100.tar
ImageNet-1K ResNet-50 Top-100/CUB imagenet1k/resnet50/original.pth.tar imagenet1k/resnet50/retrained_top100_cub.pth.tar imagenet1k/resnet50/ec_modules.tar imagenet1k/resnet50/ec_unlearned_top100_cub.tar
CIFAR-100 ResNet-50 Random-10 cifar100/resnet50/original_cifar100.tar cifar100/resnet50/retrained_cifar100_random10.tar cifar100/resnet50/ec_modules_cifar100.tar cifar100/resnet50/ec_unlearned_random10.tar
ImageNet-1K Swin-Tiny Random-100 imagenet1k/swin/original_swin.tar imagenet1k/swin/retrained_swin_random100.tar imagenet1k/swin/ec_modules_swin.tar imagenet1k/swin/ec_unlearned_swin_random100.tar

The bundle contains 14 checkpoint files (approximately 2.0 GB). Shared original and EC-module checkpoints appear once in the repository even when they are used by multiple forget benchmarks.

Download

Install and authenticate the Hugging Face CLI when required:

python -m pip install -U huggingface_hub
hf auth login  # only for private or gated access

Download the complete release while preserving its directory structure:

export HF_REPO_ID="Jeckmu/Erase-at-the-Core"
hf download "$HF_REPO_ID" --local-dir ./checkpoints

Download only the files needed to evaluate ImageNet ResNet Random-100:

hf download "$HF_REPO_ID" \
  imagenet1k/resnet50/original.pth.tar \
  imagenet1k/resnet50/retrained_random100.pth.tar \
  imagenet1k/resnet50/ec_unlearned_random100.tar \
  --local-dir ./checkpoints

Use --revision <commit-or-tag> for a version-pinned download and --dry-run to inspect the transfer before downloading.

Use with the released code

Copy the code repository's .env.example to .env, set CHECKPOINT_ROOT=./checkpoints, and source it:

cp .env.example .env
set -a
source .env
set +a

The public file hierarchy already matches every checkpoint path in .env.example.

Start at EC-module pretraining

Download the corresponding original backbone, then run one of:

bash scripts/pretrain.sh ec-resnet
bash scripts/pretrain.sh ec-cifar
bash scripts/pretrain.sh ec-swin

Start at EC unlearning

Download the corresponding ec_modules*.tar file, then run one of:

bash scripts/run_unlearning.sh imagenet-random100-resnet50
bash scripts/run_unlearning.sh imagenet-top100-resnet50
bash scripts/run_unlearning.sh cifar100-random10-resnet50
bash scripts/run_unlearning.sh imagenet-random100-swin-tiny

Start directly at evaluation

Download the benchmark's original, retrained, and final EC-unlearned checkpoints. For example:

bash scripts/evaluate.sh table \
  imagenet-random100-resnet50 \
  "$RANDOM100_EC_UNLEARNED_CKPT"

The code-repository guide documents the table, idi, layerwise-cka, and tsne evaluation modes.

Checkpoint format

These files are PyTorch checkpoint dictionaries. Every file contains a state_dict; some also contain the epoch, optimizer/scheduler state, best metric, or stored evaluation results. The .tar suffix is a historical checkpoint filename and does not mean that the file should be extracted.

import torch

payload = torch.load(
    "checkpoints/imagenet1k/resnet50/ec_modules.tar",
    map_location="cpu",
)
state_dict = payload["state_dict"]
state_dict = {
    key.removeprefix("module."): value
    for key, value in state_dict.items()
}

Use the released project loaders for training or evaluation; they instantiate the appropriate plain or aux-head architecture and handle DataParallel prefixes. The checkpoints are not packaged for transformers.AutoModel or the hosted Inference API.

Important Swin configuration

The paper-default Swin experiment uses Swin_contrastive_auxheadfc.py with no layer-wise cross-entropy on intermediate EC heads:

cu_head_weights = 0.2,0.4,0.8,1.0
ce_head_weights = 0,0,0,1

The final classifier still receives retain-set cross-entropy.

Integrity

SHA256SUMS contains hashes for all 14 model files, and checkpoint_manifest.json records their roles, byte sizes, and checkpoint metadata. Verify a downloaded bundle with:

cd checkpoints
sha256sum -c SHA256SUMS

Intended use and limitations

These artifacts are intended for research reproduction and analysis of class-wise machine unlearning. Datasets are not included and must be obtained under their respective terms. The reported unlearning behavior is empirical; the checkpoints do not by themselves provide a formal privacy or deletion guarantee.

Citation

@article{lee2026erase,
  title   = {Erase at the Core: Representation Unlearning for Machine Unlearning},
  author  = {Lee, Jaewon and Kim, Yongwoo and Kim, Donghyun},
  journal = {arXiv preprint arXiv:2602.05375},
  year    = {2026},
  doi     = {10.48550/arXiv.2602.05375},
  url     = {https://arxiv.org/abs/2602.05375}
}

License

A checkpoint and software license has not yet been selected. Add the final license metadata before making this repository public.

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

Datasets used to train Jeckmu/Erase-at-the-Core

Paper for Jeckmu/Erase-at-the-Core