Instructions to use diffusion-gif/any2ego with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use diffusion-gif/any2ego with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("fill-in-base-model", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("diffusion-gif/any2ego") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
|
Download README.md from diffusion-gif/any2ego: direct link, hf CLI and curl.
- Browser
- Download file 7.63 kB
-
https://huggingface.co/diffusion-gif/any2ego/resolve/main/README.md
- Command line
-
hf download hf://diffusion-gif/any2ego/README.md
-
curl -L -o README.md https://huggingface.co/diffusion-gif/any2ego/resolve/main/README.md
7.63 kB
| tags: | |
| - exo-to-ego | |
| - video-generation | |
| - safetensors | |
| - lora | |
| - research | |
| # Ego-Exo / Any2Ego — 5GB 分片权重包 | |
| **发布的是已有研究检查点与基础模型的无损分片,不是新训练结果。** 所有文件不超过 | |
| 5,000,000,000 字节(包含 safetensors 头)。不是 split/tar 片段; | |
| 模型张量保留完整,一个张量不会被切成两半。原始模型/检查点没有修改。 | |
| ## 目录与分片 | |
| - `models/Wan2.1-VACE-1.3B/transformer/`:原生 DiT+VACE 底座,2 片; | |
| `diffusion_pytorch_model.safetensors.index.json`。 | |
| - `models/Wan2.1-VACE-1.3B/text_encoder/`:原生 umT5-XXL BF16,3 片; | |
| `model.safetensors.index.json`。原 .pth 的完整存储逐字节转存 safetensors, | |
| 不改变 key、shape、dtype 或值;只用 weights_only/FakeTensor 读取元信息。 | |
| - Wan VAE 和 `google/umt5-xxl/` tokenizer 保留原格式。 | |
| - `models/Qwen3-VL-8B-Instruct/`:官方基座原有 4 片已小于 5GB,完整保留。 | |
| - `models/CLIP-ViT-H-14-laion2B-s32B-b79K/`:Transformers 格式原单文件保留; | |
| 未重复打包 OpenCLIP/bin 副本。 | |
| - `checkpoints/`:7 个主链路训练产物;`research/`:5 个辅助实验快照。 | |
| 它们本来就小于 5GB,保留原 safetensors/.pt 与必要的 adapter 配置。 | |
| - `code_support/`、`tools/`:分片加载兼容补丁、校验/安装/重新分片工具与 CPU 小测试。 | |
| 基础模型仍是上游模型,不是合并后的 Any2Ego 训练权重;没有合并 LoRA。 | |
| 上游模型各自遵守原许可证,不能把整个 bundle 统一声明为新的自有模型。 | |
| 训练数据、caption、视频、optimizer/RNG/log/缓存不包含在这个**权重包**里。 | |
| ## 训练产物选择 | |
| | Component | MiB | 来源/选择 | | |
| |---|---:|---| | |
| | generator_hoi | 166.9 | paper-index HOI LoRA, epoch4 | | |
| | generator_global | 630.4 | paper-index Global caption branch, epoch4 | | |
| | generator_spatial | 630.5 | paper-index Spatial caption branch, epoch2; historical teacher caption training | | |
| | reward_preview | 630.4 | teacher-caption Global reward preview, epoch4 | | |
| | mask_predictor | 21.2 | historical evaluated PhiSeg, epoch9; exo_full_context/BN settings must match | | |
| | sft_only | 83.3 | Qwen3-VL-8B LoRA, step4070 | | |
| | caption_grpo | 83.3 | Qwen3-VL-8B GRPO LoRA, step3800 | | |
| | mask_predictor_paperalign_candidate | 21.2 | last existing paper-align checkpoint, not validated best/final | | |
| | vlm_comparison | 720.4 | paper-index continuous VLM comparison, epoch0 | | |
| | joint_branch | 1350.8 | last normal joint checkpoint; gate-edited ablations excluded | | |
| | caption_dpo | 630.4 | last available DPO checkpoint, not asserted best | | |
| | native_narr_dit | 333.8 | native narration DiT LoRA, epoch4 | | |
| Historical Spatial epoch2 使用 teacher captions 训练,不冒称新的 GRPO-caption | |
| 重训结果;PhiSeg epoch9 对应 exo_full_context/BN 实验支路,推理需匹配 | |
| `--exo_full_context --bn_batch_stats` 与数据设置。paperalign epoch4 只是候选, | |
| 未声明最佳/收敛。辅助 joint/VLM/DPO/native-narr 权重不可替代主分支。 | |
| SFT/GRPO 为 Qwen3-VL-8B 的 rank16/alpha32 LoRA,非机器人项目的 27B 权重。 | |
| Adapter 权重原样保留,配置只将基座路径规范为官方 Qwen ID。 | |
| ## 接到现有代码(不会自动训练或推理) | |
| GitHub 源码:`https://github.com/coisini-gif/exo-ego-video-converter`(私密仓库需访问权限)。 | |
| 下载权重包后,在源码 checkout 的 `code/core` 下使用模型。 | |
| ```bash | |
| BUNDLE=/your/downloaded/ego_exo_5gb_20261102 | |
| CORE=/your/exo-ego-video-converter/code/core | |
| # 先看计划;无写入、无模型加载 | |
| python "$BUNDLE/tools/attach_model_bundle.py" --bundle "$BUNDLE" --code-root "$CORE" | |
| # 仅对不存在的资源建链接,旧版 loader 按已知 SHA256 安全补丁;有自定义改动会拒绝覆盖 | |
| python "$BUNDLE/tools/attach_model_bundle.py" --bundle "$BUNDLE" --code-root "$CORE" --apply | |
| # 文件完整性校验(需要读完整包,但不使用 GPU) | |
| python "$BUNDLE/tools/verify_model_bundle.py" --bundle "$BUNDLE" | |
| ``` | |
| Wan 的这两个索引**不能直接传入旧版二进制 loader**。兼容补丁分别把 | |
| DiT、T5 的 shard 列表传给一个 `ModelConfig(path=[...])`,再加入 VAE; | |
| 已覆盖 HOI/Global/Spatial 推理、generator training defaults 和 reward preview | |
| 共用的 build_pipe。原单文件路径仍然兼容,`WAN_MODEL_ROOT` 可覆盖 Wan 位置。 | |
| 这不是标准 diffusers 架构转换;不要直接对 Wan 分片子目录调用 | |
| `transformers.AutoModel.from_pretrained`,也不需要先合并回 >5GB 文件。 | |
| 若用 research 旧入口,设置 `MODEL_ROOT=$BUNDLE/models`,并显式指定对应 | |
| `$BUNDLE/research/...` 检查点;这些旧入口仍需用 `wan_model_paths` 解析 Wan | |
| 组件,或采用 core 主入口。未声称所有历史脚本均已自动改为分片加载。 | |
| 运行推理/训练还需要论文对应数据、mask、caption、第三方框架和正确版本。 | |
| **权重完整性校验并不等于完整 GPU 复现或论文指标复现。** | |
| ## 校验与 HF | |
| `bundle_manifest.json` / `CHECKSUMS.sha256` 提供文件哈希;两个大组件各自的 | |
| `reshard_manifest.json` 还包含每个原张量的 SHA256,输出独立回读逐张量验证。 | |
| `native_reader_validation.json` 使用原生 safetensors CPU reader 验证所有 | |
| 名称、形状和 dtype,未实例化模型/分配 GPU。 | |
| 整个目录可作为 **public HF model repo** 的上传目录(含模型/权重 README)。 | |
| 如只发布自训产物,可仅上传 `checkpoints/` 和 `research/`,依赖官方基座。 | |
| 本地分片流程**没有运行网络上传**;本包分发目标为 `diffusion-gif/any2ego` 公开模型仓。GitHub token | |
| 不能用于 HF。不保存或打包密钥。可在 HF 单独建 repo 后使用 `hf upload` | |
| 或 huggingface_hub 上传目录;Wan 模型资源布局需保留不变。 | |
| ## 分发与导出记录 | |
| 分发目标:`diffusion-gif/any2ego`,`model`,Public。基座与自训权重未合并,原张量内容未改变。`bundle_manifest.json` 中的 `upload_run=false` 等运行字段描述原始**本地导出阶段**,不是此 HF 仓库的传输状态。分发版只调整 README 的分发说明并相应更新文件校验清单;数据和密钥不在包内。 | |
| ## Public distribution status | |
| Repository: `diffusion-gif/any2ego` (`model`, Public). All listed tensor files are complete and remote hashes verified. | |
| Source export execution booleans describe the original local export, not current Hub upload status. | |
| See `LICENSES/UPSTREAM.md` for upstream attribution and component licenses. | |
| ## Historical training-data index | |
| `TRAINING_DATA_INDEX.json` is attached to this model download. It identifies | |
| retained ORIGINAL training JSON/CSV/Parquet, pinned protected snapshot revisions, | |
| file hashes, original legacy observation backups and separately labeled later data. | |
| Original restricted annotations remain private; no data-owner credentials are included. | |
| Public registry: https://huggingface.co/datasets/diffusion-gif/training-data-index | |
| ```bash | |
| # For old trajectory checkpoints; inspect other dataset IDs for Any2Ego: | |
| python tools/fetch_training_data.py --index TRAINING_DATA_INDEX.json --dataset ego_exo_original_training_inputs --output data_download | |
| # after owner login / dry-run inspection add --execute | |
| ``` | |
| A pointer index cannot guarantee that an unbacked original video remains available | |
| forever. The large Ego-Exo RGB/GT-mask collection is not mirrored here. Launch-time | |
| content hashes were not recorded for all components; current retained snapshots | |
| and actual verified path bindings are explicitly distinguished in the index. | |