| --- |
| 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}, |
| } |
| ``` |