Add model card metadata
Browse filesThis PR adds missing metadata to the model card, including the pipeline tag, library name, and license. This improves discoverability and clarity for users.
README.md
ADDED
@@ -0,0 +1,210 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
pipeline_tag: video-to-video
|
3 |
+
library_name: diffusers
|
4 |
+
license: mit
|
5 |
+
---
|
6 |
+
|
7 |
+
# π₯ FAR: Frame Autoregressive Model for Both Short- and Long-Context Video Modeling π
|
8 |
+
|
9 |
+
<div align="center">
|
10 |
+
|
11 |
+
[](https://farlongctx.github.io/)
|
12 |
+
[](https://arxiv.org/abs/2503.19325)
|
13 |
+
[](https://huggingface.co/guyuchao/FAR_Models)
|
14 |
+
[](https://paperswithcode.com/sota/video-generation-on-ucf-101)
|
15 |
+
|
16 |
+
</div>
|
17 |
+
|
18 |
+
<p align="center" style="font-size: larger;">
|
19 |
+
<a href="https://arxiv.org/abs/2503.19325">Long-Context Autoregressive Video Modeling with Next-Frame Prediction</a>
|
20 |
+
</p>
|
21 |
+
|
22 |
+

|
23 |
+
|
24 |
+
## π’ News
|
25 |
+
|
26 |
+
* **2025-03:** Paper and Code of [FAR](https://farlongctx.github.io/) are released! π
|
27 |
+
|
28 |
+
|
29 |
+
## π What's the Potential of FAR?
|
30 |
+
|
31 |
+
### π₯ Introducing FAR: a new baseline for autoregressive video generation
|
32 |
+
|
33 |
+
FAR (i.e., <u>**F**</u>rame <u>**A**</u>uto<u>**R**</u>egressive Model) learns to predict continuous frames based on an autoregressive context. Its objective aligns well with video modeling, similar to the next-token prediction in language modeling.
|
34 |
+
|
35 |
+

|
36 |
+
|
37 |
+
### π₯ FAR achieves better convergence than video diffusion models with the same continuous latent space
|
38 |
+
|
39 |
+
<p align="center">
|
40 |
+
<img src="./assets/converenge.jpg" width=55%>
|
41 |
+
<p>
|
42 |
+
|
43 |
+
### π₯ FAR leverages clean visual context without additional image-to-video fine-tuning:
|
44 |
+
|
45 |
+
Unconditional pretraining on UCF-101 achieves state-of-the-art results in both video generation (context frame = 0) and video prediction (context frame β₯ 1) within a single model.
|
46 |
+
|
47 |
+
<p align="center">
|
48 |
+
<img src="./assets/performance.png" width=75%>
|
49 |
+
<p>
|
50 |
+
|
51 |
+
### π₯ FAR supports 16x longer temporal extrapolation at test time
|
52 |
+
|
53 |
+
<p align="center">
|
54 |
+
<img src="./assets/extrapolation.png" width=100%>
|
55 |
+
<p>
|
56 |
+
|
57 |
+
### π₯ FAR supports efficient training on long-video sequence with managable token lengths
|
58 |
+
|
59 |
+
<p align="center">
|
60 |
+
<img src="./assets/long_short_term_ctx.jpg" width=55%>
|
61 |
+
<p>
|
62 |
+
|
63 |
+
#### π For more details, check out our [paper](https://arxiv.org/abs/2503.19325).
|
64 |
+
|
65 |
+
|
66 |
+
## ποΈββοΈ FAR Model Zoo
|
67 |
+
We provide trained FAR models in our paper for re-implementation.
|
68 |
+
|
69 |
+
### Video Generation
|
70 |
+
|
71 |
+
We use seed-[0,2,4,6] in evaluation, following the evaluation prototype of [Latte](https://arxiv.org/abs/2401.03048):
|
72 |
+
|
73 |
+
| Model (Config) | #Params | Resolution | Condition | FVD | HF Weights | Pre-Computed Samples |
|
74 |
+
|:-------:|:------------:|:------------:|:-----------:|:-----:|:----------:|:----------:|
|
75 |
+
| [FAR-L](options/train/far/video_generation/FAR_L_ucf101_uncond_res128_400K_bs32.yml) | 457 M | 128x128 | β | 280 Β± 11.7 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_L_UCF101_Uncond128-c19abd2c.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
76 |
+
| [FAR-L](options/train/far/video_generation/FAR_L_ucf101_cond_res128_400K_bs32.yml) | 457 M | 128x128 | β | 99 Β± 5.9 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_L_UCF101_Cond128-c6f798bf.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
77 |
+
| [FAR-L](options/train/far/video_generation/FAR_L_ucf101_uncond_res256_400K_bs32.yml) | 457 M | 256x256 | β | 303 Β± 13.5 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_L_UCF101_Uncond256-adea51e9.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
78 |
+
| [FAR-L](options/train/far/video_generation/FAR_L_ucf101_cond_res256_400K_bs32.yml) | 457 M | 256x256 | β | 113 Β± 3.6 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_L_UCF101_Cond256-41c6033f.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
79 |
+
| [FAR-XL](options/train/far/video_generation/FAR_XL_ucf101_uncond_res256_400K_bs32.yml) | 657 M | 256x256 | β | 279 Β± 9.2 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_XL_UCF101_Uncond256-3594ce6b.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
80 |
+
| [FAR-XL](options/train/far/video_generation/FAR_XL_ucf101_cond_res256_400K_bs32.yml) | 657 M | 256x256 | β | 108 Β± 4.2 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/video_generation/FAR_XL_UCF101_Cond256-28a88f56.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
81 |
+
|
82 |
+
### Short-Video Prediction
|
83 |
+
|
84 |
+
We follows the evaluation prototype of [MCVD](https://arxiv.org/abs/2205.09853) and [ExtDM](https://openaccess.thecvf.com/content/CVPR2024/papers/Zhang_ExtDM_Distribution_Extrapolation_Diffusion_Model_for_Video_Prediction_CVPR_2024_paper.pdf):
|
85 |
+
|
86 |
+
| Model (Config) | #Params | Dataset | PSNR | SSIM | LPIPS | FVD | HF Weights | Pre-Computed Samples |
|
87 |
+
|:-----:|:------------:|:------------:|:-----:|:-----:|:-----:|:-----:|:----------:|:----------:|
|
88 |
+
| [FAR-B](options/train/far/short_video_prediction/FAR_B_ucf101_res64_200K_bs32.yml) | 130 M | UCF101 | 25.64 | 0.818 | 0.037 | 194.1 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/short_video_prediction/FAR_B_UCF101_Uncond64-381d295f.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
89 |
+
| [FAR-B](options/train/far/short_video_prediction/FAR_B_bair_res64_200K_bs32.yml) | 130 M | BAIR (c=2, p=28) | 19.40 | 0.819 | 0.049 | 144.3 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/short_video_prediction/FAR_B_BAIR_Uncond64-1983191b.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
90 |
+
|
91 |
+
### Long-Video Prediction
|
92 |
+
|
93 |
+
We use seed-[0,2,4,6] in evaluation, following the evaluation prototype of [TECO](https://arxiv.org/abs/2210.02396):
|
94 |
+
|
95 |
+
|
96 |
+
| Model (Config) | #Params | Dataset | PSNR | SSIM | LPIPS | FVD | HF Weights | Pre-Computed Samples |
|
97 |
+
|:-----:|:------------:|:------------:|:-----:|:-----:|:-----:|:-----:|:----------:|:----------:|
|
98 |
+
| [FAR-B-Long](options/train/far/long_video_prediction/FAR_B_Long_dmlab_res64_400K_bs32.yml) | 150 M | DMLab | 22.3 | 0.687 | 0.104 | 64 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/long_video_prediction/FAR_B_Long_DMLab_Action64-c09441dc.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
99 |
+
| [FAR-M-Long](options/train/far/long_video_prediction/FAR_M_Long_minecraft_res128_400K_bs32.yml) | 280 M | Minecraft | 16.9 | 0.448 | 0.251 | 39 | [Model-HF](https://huggingface.co/guyuchao/FAR_Models/resolve/main/long_video_prediction/FAR_M_Long_Minecraft_Action128-4c041561.pth) | [Google Drive](https://drive.google.com/drive/folders/1p1MvCiTfoUYAUYNqQNG6nEU02zy8U1vp?usp=drive_link) |
|
100 |
+
|
101 |
+
## π§ Dependencies and Installation
|
102 |
+
|
103 |
+
### 1. Setup Environment:
|
104 |
+
|
105 |
+
```bash
|
106 |
+
# Setup Conda Environment
|
107 |
+
conda create -n FAR python=3.10
|
108 |
+
conda activate FAR
|
109 |
+
|
110 |
+
# Install Pytorch
|
111 |
+
conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.4 -c pytorch -c nvidia
|
112 |
+
|
113 |
+
# Install Other Dependences
|
114 |
+
pip install -r requirements.txt
|
115 |
+
```
|
116 |
+
|
117 |
+
### 2. Prepare Dataset:
|
118 |
+
|
119 |
+
We have uploaded the dataset used in this paper to Hugging Face datasets for faster download. Please follow the instructions below to prepare.
|
120 |
+
|
121 |
+
```python
|
122 |
+
from huggingface_hub import snapshot_download, hf_hub_download
|
123 |
+
|
124 |
+
dataset_url = {
|
125 |
+
"ucf101": "guyuchao/UCF101",
|
126 |
+
"bair": "guyuchao/BAIR",
|
127 |
+
"minecraft": "guyuchao/Minecraft",
|
128 |
+
"minecraft_latent": "guyuchao/Minecraft_Latent",
|
129 |
+
"dmlab": "guyuchao/DMLab",
|
130 |
+
"dmlab_latent": "guyuchao/DMLab_Latent"
|
131 |
+
}
|
132 |
+
|
133 |
+
for key, url in dataset_url.items():
|
134 |
+
snapshot_download(
|
135 |
+
repo_id=url,
|
136 |
+
repo_type="dataset",
|
137 |
+
local_dir=f"datasets/{key}",
|
138 |
+
token="input your hf token here"
|
139 |
+
)
|
140 |
+
```
|
141 |
+
|
142 |
+
Then, enter its directory and execute:
|
143 |
+
|
144 |
+
```bash
|
145 |
+
find . -name "shard-*.tar" -exec tar -xvf {} \;
|
146 |
+
```
|
147 |
+
|
148 |
+
|
149 |
+
### 3. Prepare Pretrained Models of FAR:
|
150 |
+
|
151 |
+
We have uploaded the pretrained models of FAR to Hugging Face models. Please follow the instructions below to download if you want to evaluate FAR.
|
152 |
+
|
153 |
+
```bash
|
154 |
+
from huggingface_hub import snapshot_download, hf_hub_download
|
155 |
+
|
156 |
+
for key, url in dataset_url.items():
|
157 |
+
snapshot_download(
|
158 |
+
repo_id="guyuchao/FAR_Models",
|
159 |
+
repo_type="model",
|
160 |
+
local_dir="experiments/pretrained_models/FAR_Models",
|
161 |
+
token="input your hf token here"
|
162 |
+
)
|
163 |
+
```
|
164 |
+
|
165 |
+
## π Training
|
166 |
+
|
167 |
+
To train different models, you can run the following command:
|
168 |
+
|
169 |
+
```bash
|
170 |
+
accelerate launch \
|
171 |
+
--num_processes 8 \
|
172 |
+
--num_machines 1 \
|
173 |
+
--main_process_port 19040 \
|
174 |
+
train.py \
|
175 |
+
-opt train_config.yml
|
176 |
+
```
|
177 |
+
|
178 |
+
* **Wandb:** Set ```use_wandb``` to ```True``` in config to enable wandb monitor.
|
179 |
+
* **Periodally Evaluation:** Set ```val_freq``` to control the peroidly evaluation in training.
|
180 |
+
* **Auto Resume:** Directly rerun the script, the model will find the lastest checkpoint to resume, the wandb log will automatically resume.
|
181 |
+
* **Efficient Training on Pre-Extracted Latent:** Set ```use_latent``` to ```True```, and set the ```data_list``` to correponding latent path list.
|
182 |
+
|
183 |
+
## π» Sampling & Evaluation
|
184 |
+
|
185 |
+
To evaluate the performance of a pretrained model, just copy the training config and set the ```pretrain_network: ~``` to your trained folder. Then run the following scripts:
|
186 |
+
|
187 |
+
|
188 |
+
```bash
|
189 |
+
accelerate launch \
|
190 |
+
--num_processes 8 \
|
191 |
+
--num_machines 1 \
|
192 |
+
--main_process_port 10410 \
|
193 |
+
test.py \
|
194 |
+
-opt test_config.yml
|
195 |
+
```
|
196 |
+
|
197 |
+
## π License
|
198 |
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
199 |
+
|
200 |
+
|
201 |
+
## π Citation
|
202 |
+
If our work assists your research, feel free to give us a star β or cite us using:
|
203 |
+
```
|
204 |
+
@article{gu2025long,
|
205 |
+
title={Long-Context Autoregressive Video Modeling with Next-Frame Prediction},
|
206 |
+
author={Gu, Yuchao and Mao, weijia and Shou, Mike Zheng},
|
207 |
+
journal={arXiv preprint arXiv:2503.19325},
|
208 |
+
year={2025}
|
209 |
+
}
|
210 |
+
```
|