|
|
--- |
|
|
license: mit |
|
|
pipeline_tag: unconditional-image-generation |
|
|
--- |
|
|
|
|
|
# FreeFlow: Flow Map Distillation Without Data |
|
|
|
|
|
This repository contains the official PyTorch implementation for the paper: |
|
|
[**Flow Map Distillation Without Data**](https://huggingface.co/papers/2511.19428) |
|
|
|
|
|
**[Project Page](https://data-free-flow-distill.github.io/)** | **[GitHub Repository](https://github.com/ShangyuanTong/FreeFlow)** |
|
|
|
|
|
State-of-the-art flow models achieve remarkable quality but require slow, iterative sampling. FreeFlow explores a data-free alternative to flow map distillation, which conventionally requires external datasets. By sampling only from the prior distribution, our method circumvents the risk of Teacher-Data Mismatch. It learns to predict the teacher's sampling path while actively correcting for its own compounding errors, achieving state-of-the-art performance. Specifically, it reaches an impressive FID of **1.45** on ImageNet 256x256, and **1.49** on ImageNet 512x512, both with only 1 sampling step. We hope this work establishes a more robust paradigm for accelerating generative models. |
|
|
|
|
|
 |
|
|
|
|
|
## Usage |
|
|
|
|
|
### Setup |
|
|
|
|
|
We provide an [`environment.yml`](https://github.com/ShangyuanTong/FreeFlow/blob/main/environment.yml) file that can be used to create a Conda environment. If you only want to run pre-trained models locally on CPU, you can remove the `cudatoolkit` and `pytorch-cuda` requirements from the file. |
|
|
|
|
|
```bash |
|
|
conda env create -f environment.yml |
|
|
conda activate DiT |
|
|
``` |
|
|
|
|
|
### Sampling |
|
|
|
|
|
Pre-trained FreeFlow checkpoints are hosted on the [Hugging Face organization page](https://huggingface.co/nyu-visionx/FreeFlow/tree/main). You can sample from our pre-trained models with [`sample.py`](https://github.com/ShangyuanTong/FreeFlow/blob/main/sample.py). To use them, visit the Hugging Face download [guide](https://huggingface.co/docs/huggingface_hub/en/guides/download), and pass the file path to the script, as shown below. |
|
|
|
|
|
The script allows switching between the 256x256 and 512x512 models and changing the classifier-free guidance scale, etc. For example, to sample from our 512x512 FreeFlow-XL/2 model, you can use: |
|
|
|
|
|
```bash |
|
|
python sample.py --image-size 512 --seed 1 --ckpt <ckpt-path> |
|
|
``` |
|
|
|
|
|
## Citation |
|
|
|
|
|
If you find our work helpful or inspiring, please feel free to cite it: |
|
|
|
|
|
```bibtex |
|
|
@article{tong2025freeflow, |
|
|
title={Flow Map Distillation Without Data}, |
|
|
author={Tong, Shangyuan and Ma, Nanye and Xie, Saining and Jaakkola, Tommi}, |
|
|
year={2025}, |
|
|
journal={arXiv preprint arXiv:2511.19428}, |
|
|
} |
|
|
``` |