README.md
April 4, 2026 · View on GitHub

Prerequisite 🛠️
First, you need to clone the SEAL repository from GitHub. Open the terminal and run the following command:
git clone https://github.com/Visual-AI/SEAL.git
cd SEAL
We recommend setting up a conda environment for the project:
conda create --name=seal python=3.8
conda activate seal
pip install -r requirements.txt
Download the pretrained DINO/DINOv2 weights from their official repository to the PRETRAINED_PATH.
📢 Updates
- 🛠️ TODO: We plan to release the trained model weights after the New Year Holiday.
- [2025/12/23] 🔥Released training and inference code for SSB Benchmarks.
- [2025/09/18] 🎉The paper was accepted by NeurIPS'25.
Running 🏃
Config
Set paths to datasets, pretrained weights, and log directories in config.py.
Datasets
We use fine-grained benchmarks (CUB, Stanford-cars, FGVC-aircraft). You can find the datasets in:
Scripts
The scripts to train and eval each method can be found in the folder /scripts.
Eval the model
bash scripts/eval.sh
Train the model:
bash scripts/scars_dinov2.sh
You may find the trained model weights in the following links: here. We plan to upload all model weights for both DINOv1 and DINOv2 shortly after the New Year holiday, due to ongoing checkpoint recovery and consolidation across multiple servers.
Acknowledgement
The hierarchy used in this project is adapted from Your “Flamingo” is My “Bird”: Fine-Grained, or Not (CVPR 2021 Oral).
We thank the authors for publicly releasing the hierarchical labels and related resources.
Label names are available at:
https://github.com/PRIS-CV/Fine-Grained-or-Not/tree/main
Citing this work
If you find this repo useful for your research, please consider citing our paper:
@inproceedings{He2025SEAL,
author = {Zhenqi He and Yuanpei Liu and Kai Han},
title = {SEAL: Semantic-Aware Hierarchical Learning for Generalized Category Discovery},
booktitle = {Conference on Neural Information Processing Systems (NeurIPS)},
year = {2025},
}