diff --git a/CausVid.egg-info/PKG-INFO b/CausVid.egg-info/PKG-INFO new file mode 100644 index 0000000000000000000000000000000000000000..b5348d4c6a2ed5bfa8f7814ab17f35419612b3e2 --- /dev/null +++ b/CausVid.egg-info/PKG-INFO @@ -0,0 +1,5 @@ +Metadata-Version: 2.4 +Name: CausVid +Version: 0.0.1 +License-File: LICENSE.md +Dynamic: license-file diff --git a/CausVid.egg-info/SOURCES.txt b/CausVid.egg-info/SOURCES.txt new file mode 100644 index 0000000000000000000000000000000000000000..74d17dbaebfa96c6eee8dfc5121de5710befc89e --- /dev/null +++ b/CausVid.egg-info/SOURCES.txt @@ -0,0 +1,7 @@ +LICENSE.md +README.md +setup.py +CausVid.egg-info/PKG-INFO +CausVid.egg-info/SOURCES.txt +CausVid.egg-info/dependency_links.txt +CausVid.egg-info/top_level.txt \ No newline at end of file diff --git a/CausVid.egg-info/dependency_links.txt b/CausVid.egg-info/dependency_links.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/CausVid.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/CausVid.egg-info/top_level.txt b/CausVid.egg-info/top_level.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/CausVid.egg-info/top_level.txt @@ -0,0 +1 @@ + diff --git a/configs/sdxl_8node_dmd_config.yaml b/configs/sdxl_8node_dmd_config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d446d1b4367e8df03aa1e0c9e9c84470d0d9c8e4 --- /dev/null +++ b/configs/sdxl_8node_dmd_config.yaml @@ -0,0 +1,42 @@ +model_name: sdxl +generator_grad: + model: true +real_score_grad: + model: false +fake_score_grad: + model: true +denoising_step_list: +- 999 +- 749 +- 499 +- 249 +num_train_timestep: 1000 +real_guidance_scale: 8.0 +generator_task: image +denoising_loss_type: noise +mixed_precision: true +seed: 0 +wandb_host: WANDB_HOST +wandb_key: WANDB_KEY +wandb_entity: tyin +wandb_project: causvid +wandb_name: causvid_sdxl_test_run_1node +sharding_strategy: full +lr: 5.0e-07 +beta1: 0.9 +beta2: 0.999 +data_path: captions_laion6.25.txt +batch_size: 2 +log_iters: 1000 +negative_prompt: '' +dfake_gen_update_ratio: 5 +image_or_video_shape: +- 2 +- 1 +- 4 +- 128 +- 128 +output_path: /mnt/localssd/sdxl_logs +distillation_loss: dmd +gradient_checkpointing: false +warp_denoising_step: false \ No newline at end of file diff --git a/configs/wan_bidirectional_dmd.yaml b/configs/wan_bidirectional_dmd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bcc8858b8e2ce285a194dd48e6b5b84bf47c3384 --- /dev/null +++ b/configs/wan_bidirectional_dmd.yaml @@ -0,0 +1,48 @@ +model_name: wan +generator_fsdp_wrap_strategy: size +real_score_fsdp_wrap_strategy: size +fake_score_fsdp_wrap_strategy: size +text_encoder_fsdp_wrap_strategy: size +generator_grad: + model: true +real_score_grad: + model: false +fake_score_grad: + model: true +denoising_step_list: +- 1000 +- 757 +- 522 +num_train_timestep: 1000 +timestep_shift: 8.0 +real_guidance_scale: 3.5 +generator_task: bidirectional_video +real_task_type: bidirectional_video +fake_task_type: bidirectional_video +denoising_loss_type: flow +mixed_precision: true +seed: 0 +wandb_host: WANDB_HOST +wandb_key: WANDB_KEY +wandb_entity: tyin +wandb_project: causvid +wandb_name: wan_bidirectional_dmd +sharding_strategy: hybrid_full +lr: 2.0e-06 +beta1: 0.9 +beta2: 0.999 +data_path: sample_dataset/mixkit_prompts.txt +batch_size: 1 +log_iters: 200 +negative_prompt: '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走' +dfake_gen_update_ratio: 5 +image_or_video_shape: +- 1 +- 21 +- 16 +- 60 +- 104 +output_path: /mnt/localssd/wan_bidirectional_dmd +distillation_loss: dmd +gradient_checkpointing: true +warp_denoising_step: false \ No newline at end of file diff --git a/configs/wan_bidirectional_dmd_from_scratch.yaml b/configs/wan_bidirectional_dmd_from_scratch.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4573e86a3f95f12b106789bf4910a4b0ae22f92d --- /dev/null +++ b/configs/wan_bidirectional_dmd_from_scratch.yaml @@ -0,0 +1,49 @@ +model_name: wan +generator_fsdp_wrap_strategy: size +real_score_fsdp_wrap_strategy: size +fake_score_fsdp_wrap_strategy: size +text_encoder_fsdp_wrap_strategy: size +generator_grad: + model: true +real_score_grad: + model: false +fake_score_grad: + model: true +denoising_step_list: +- 1000 +- 757 +- 522 +num_train_timestep: 1000 +timestep_shift: 8.0 +real_guidance_scale: 3.5 +generator_task: bidirectional_video +real_task_type: bidirectional_video +fake_task_type: bidirectional_video +denoising_loss_type: flow +mixed_precision: true +seed: 0 +wandb_host: WANDB_HOST +wandb_key: WANDB_KEY +wandb_entity: tyin +wandb_project: causvid +wandb_name: wan_bidirectional_dmd_from_scratch +sharding_strategy: hybrid_full +lr: 2.0e-06 +beta1: 0.9 +beta2: 0.999 +data_path: mixkit_latents_lmdb +batch_size: 1 +log_iters: 200 +negative_prompt: '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走' +dfake_gen_update_ratio: 5 +image_or_video_shape: +- 1 +- 21 +- 16 +- 60 +- 104 +output_path: /mnt/localssd/wan_bidirectional_dmd_from_scratch +distillation_loss: dmd +gradient_checkpointing: true +backward_simulation: false +warp_denoising_step: false \ No newline at end of file diff --git a/configs/wan_causal_dmd.yaml b/configs/wan_causal_dmd.yaml new file mode 100644 index 0000000000000000000000000000000000000000..857474dfdbf682d9307c0eabab5e0022c849d1cc --- /dev/null +++ b/configs/wan_causal_dmd.yaml @@ -0,0 +1,53 @@ +model_name: wan +generator_name: causal_wan +generator_ckpt: "wan_causal_ode_checkpoint_model_003000/model.pt" +generator_fsdp_wrap_strategy: size +real_score_fsdp_wrap_strategy: size +fake_score_fsdp_wrap_strategy: size +text_encoder_fsdp_wrap_strategy: size +generator_grad: + model: true +real_score_grad: + model: false +fake_score_grad: + model: true +denoising_step_list: +- 1000 +- 757 +- 522 +- 0 +num_train_timestep: 1000 +timestep_shift: 8.0 +real_guidance_scale: 3.5 +generator_task: causal_video +real_task_type: bidirectional_video +fake_task_type: bidirectional_video +denoising_loss_type: flow +mixed_precision: true +seed: 0 +wandb_host: WANDB_HOST +wandb_key: WANDB_KEY +wandb_entity: tyin +wandb_project: causvid +wandb_name: wan_causal_dmd +sharding_strategy: hybrid_full +lr: 2.0e-06 +beta1: 0.9 +beta2: 0.999 +data_path: mixkit_latents_lmdb +batch_size: 1 +log_iters: 200 +negative_prompt: '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走' +dfake_gen_update_ratio: 5 +image_or_video_shape: +- 1 +- 21 +- 16 +- 60 +- 104 +output_path: /mnt/localssd/wan_causal_dmd +distillation_loss: dmd +gradient_checkpointing: true +backward_simulation: false +num_frame_per_block: 3 +warp_denoising_step: false \ No newline at end of file diff --git a/configs/wan_causal_dmd_warp_4step_cfg2.yaml b/configs/wan_causal_dmd_warp_4step_cfg2.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3efa68fd31476250baf15b6f95c8df81502a6ed1 --- /dev/null +++ b/configs/wan_causal_dmd_warp_4step_cfg2.yaml @@ -0,0 +1,54 @@ +model_name: wan +generator_name: causal_wan +generator_ckpt: "wan_causal_ode_checkpoint_model_003000/model.pt" +generator_fsdp_wrap_strategy: size +real_score_fsdp_wrap_strategy: size +fake_score_fsdp_wrap_strategy: size +text_encoder_fsdp_wrap_strategy: size +generator_grad: + model: true +real_score_grad: + model: false +fake_score_grad: + model: true +denoising_step_list: +- 1000 +- 750 +- 500 +- 250 +- 0 +num_train_timestep: 1000 +timestep_shift: 8.0 +real_guidance_scale: 2.0 +generator_task: causal_video +real_task_type: bidirectional_video +fake_task_type: bidirectional_video +denoising_loss_type: flow +mixed_precision: true +seed: 0 +wandb_host: WANDB_HOST +wandb_key: WANDB_KEY +wandb_entity: tyin +wandb_project: causvid +wandb_name: wan_causal_dmd +sharding_strategy: hybrid_full +lr: 2.0e-06 +beta1: 0.9 +beta2: 0.999 +data_path: mixkit_latents_lmdb +batch_size: 1 +log_iters: 200 +negative_prompt: '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走' +dfake_gen_update_ratio: 5 +image_or_video_shape: +- 1 +- 21 +- 16 +- 60 +- 104 +output_path: /mnt/localssd/wan_causal_dmd_warp_4step +distillation_loss: dmd +gradient_checkpointing: true +backward_simulation: false +num_frame_per_block: 3 +warp_denoising_step: true \ No newline at end of file diff --git a/configs/wan_causal_ode.yaml b/configs/wan_causal_ode.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8e6fcd6baf68a6a0ab50bb81a797c94dcde24409 --- /dev/null +++ b/configs/wan_causal_ode.yaml @@ -0,0 +1,31 @@ +model_name: causal_wan +generator_ckpt: "pretrained_ode.pt" +generator_grad: + model: true +denoising_step_list: +- 1000 +- 757 +- 522 +- 0 +generator_task: causal_video +generator_fsdp_wrap_strategy: size +text_encoder_fsdp_wrap_strategy: size +mixed_precision: true +seed: 0 +wandb_host: https://api.wandb.ai +wandb_key: 5409d3b960b01b25cec0f6abb5361b4022f0cc41 +wandb_entity: liyitong-Tsinghua University +wandb_project: self-forcing +wandb_name: wan_causal_ode +sharding_strategy: hybrid_full +lr: 2.0e-06 +beta1: 0.9 +beta2: 0.999 +data_path: ../mixkit_ode_lmdb +batch_size: 2 +log_iters: 200 +output_path: ./output +distillation_loss: ode +gradient_checkpointing: true +num_frame_per_block: 3 +warp_denoising_step: false \ No newline at end of file diff --git a/output/wandb/run-20250908_063808-yfn0incq/files/output.log b/output/wandb/run-20250908_063808-yfn0incq/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..4f7311be0eee9987d73a39605efe808cbaae7015 --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/files/output.log @@ -0,0 +1,26 @@ +run dir: ./output/wandb/run-20250908_063808-yfn0incq/files +Start training step 0... + cache a block wise causal mask with block size of 3 frames +BlockMask(shape=(1, 1, 32768, 32768), sparsity=42.52%, +(0, 0) +████░░ +████░░ +████░░░░░░░░ +██████████░░ +██████████░░ +██████████░░░░░░░░ +████████████████░░ +████████████████░░ +████████████████░░░░░░░░ +██████████████████████░░ +██████████████████████░░ +██████████████████████░░░░░░░░ +████████████████████████████░░ +████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░░░░░░░ +████████████████████████████████████████ +████████████████████████████████████████ +████████████████████████████████████████ +) diff --git a/output/wandb/run-20250908_063808-yfn0incq/files/requirements.txt b/output/wandb/run-20250908_063808-yfn0incq/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_063808-yfn0incq/files/wandb-metadata.json b/output/wandb/run-20250908_063808-yfn0incq/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..c756a57a23f47344c8a521872618d6262c3a3b5a --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T06:38:08.309033Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1367494828032" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "051fauhxsqz43onnqgc6jbdjqxushh74" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_063808-yfn0incq/logs/debug-core.log b/output/wandb/run-20250908_063808-yfn0incq/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..921f44542e5676b347eeb880f8045df8031e4127 --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/logs/debug-core.log @@ -0,0 +1,7 @@ +{"time":"2025-09-08T06:38:08.329996016Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpmfwk91u6/port-3438882.txt","pid":3438882,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T06:38:08.330648777Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3438882} +{"time":"2025-09-08T06:38:08.330657813Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3438882-3439217-2707863955/socket","Net":"unix"}} +{"time":"2025-09-08T06:38:08.516356689Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T06:38:08.52538569Z","level":"INFO","msg":"handleInformInit: received","streamId":"yfn0incq","id":"1(@)"} +{"time":"2025-09-08T06:38:08.725905857Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"yfn0incq","id":"1(@)"} +{"time":"2025-09-08T06:46:21.545953845Z","level":"INFO","msg":"server: parent process exited, terminating service process"} diff --git a/output/wandb/run-20250908_063808-yfn0incq/logs/debug-internal.log b/output/wandb/run-20250908_063808-yfn0incq/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..1acabeff1098046836b86ad30bb8ea9e55c37b3e --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/logs/debug-internal.log @@ -0,0 +1,6 @@ +{"time":"2025-09-08T06:38:08.52564227Z","level":"INFO","msg":"stream: starting","core version":"0.21.3"} +{"time":"2025-09-08T06:38:08.725733203Z","level":"INFO","msg":"stream: created new stream","id":"yfn0incq"} +{"time":"2025-09-08T06:38:08.725892734Z","level":"INFO","msg":"stream: started","id":"yfn0incq"} +{"time":"2025-09-08T06:38:08.725914161Z","level":"INFO","msg":"writer: started","stream_id":"yfn0incq"} +{"time":"2025-09-08T06:38:08.725929156Z","level":"INFO","msg":"sender: started","stream_id":"yfn0incq"} +{"time":"2025-09-08T06:38:08.725920349Z","level":"INFO","msg":"handler: started","stream_id":"yfn0incq"} diff --git a/output/wandb/run-20250908_063808-yfn0incq/logs/debug.log b/output/wandb/run-20250908_063808-yfn0incq/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..b1ce9f11a7b883b0231ba4adb93d5e00d14d3b5e --- /dev/null +++ b/output/wandb/run-20250908_063808-yfn0incq/logs/debug.log @@ -0,0 +1,22 @@ +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_setup.py:_flush():81] Configure stats pid to 3438882 +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_063808-yfn0incq/logs/debug.log +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_063808-yfn0incq/logs/debug-internal.log +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_init.py:init():813] calling init triggers +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 9828283, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 06:38:08,310 INFO MainThread:3438882 [wandb_init.py:init():854] starting backend +2025-09-08 06:38:08,516 INFO MainThread:3438882 [wandb_init.py:init():857] sending inform_init request +2025-09-08 06:38:08,520 INFO MainThread:3438882 [wandb_init.py:init():865] backend started and connected +2025-09-08 06:38:08,523 INFO MainThread:3438882 [wandb_init.py:init():936] updated telemetry +2025-09-08 06:38:08,528 INFO MainThread:3438882 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 06:38:08,916 INFO MainThread:3438882 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 06:38:09,029 INFO MainThread:3438882 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 06:38:09,029 INFO MainThread:3438882 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 06:38:09,029 INFO MainThread:3438882 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 06:38:09,030 INFO MainThread:3438882 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 06:38:09,032 INFO MainThread:3438882 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 06:38:09,410 INFO MainThread:3438882 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} diff --git a/output/wandb/run-20250908_063808-yfn0incq/run-yfn0incq.wandb b/output/wandb/run-20250908_063808-yfn0incq/run-yfn0incq.wandb new file mode 100644 index 0000000000000000000000000000000000000000..d54c10b10e893a1eac9987faaf1a5111a7ebe243 Binary files /dev/null and b/output/wandb/run-20250908_063808-yfn0incq/run-yfn0incq.wandb differ diff --git a/output/wandb/run-20250908_064634-xd44venm/files/wandb-metadata.json b/output/wandb/run-20250908_064634-xd44venm/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..90ae414fd5e1c6a33ca48494ced58798f0ec5075 --- /dev/null +++ b/output/wandb/run-20250908_064634-xd44venm/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T06:46:34.797035Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1367495385088" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "u3mfnczl6vj98a25sgfj3dvcuv00y0jd" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_064634-xd44venm/logs/debug-core.log b/output/wandb/run-20250908_064634-xd44venm/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..1bfc452d1051b541eb6076c9aa85500ecf747333 --- /dev/null +++ b/output/wandb/run-20250908_064634-xd44venm/logs/debug-core.log @@ -0,0 +1,7 @@ +{"time":"2025-09-08T06:46:34.819015681Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmp9b1_vyfw/port-3454108.txt","pid":3454108,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T06:46:34.819705153Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3454108} +{"time":"2025-09-08T06:46:34.819700396Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3454108-3454427-2811185260/socket","Net":"unix"}} +{"time":"2025-09-08T06:46:35.005856196Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T06:46:35.017139949Z","level":"INFO","msg":"handleInformInit: received","streamId":"xd44venm","id":"1(@)"} +{"time":"2025-09-08T06:46:35.219626779Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"xd44venm","id":"1(@)"} +{"time":"2025-09-08T06:56:07.684243507Z","level":"INFO","msg":"server: parent process exited, terminating service process"} diff --git a/output/wandb/run-20250908_065643-lyib7g2q/files/output.log b/output/wandb/run-20250908_065643-lyib7g2q/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..39a67fdcd93ba6fb7b28299793f0e5ad83c082d0 --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/files/output.log @@ -0,0 +1,25 @@ +run dir: ./output/wandb/run-20250908_065643-lyib7g2q/files + cache a block wise causal mask with block size of 3 frames +BlockMask(shape=(1, 1, 32768, 32768), sparsity=42.52%, +(0, 0) +████░░ +████░░ +████░░░░░░░░ +██████████░░ +██████████░░ +██████████░░░░░░░░ +████████████████░░ +████████████████░░ +████████████████░░░░░░░░ +██████████████████████░░ +██████████████████████░░ +██████████████████████░░░░░░░░ +████████████████████████████░░ +████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░░░░░░░ +████████████████████████████████████████ +████████████████████████████████████████ +████████████████████████████████████████ +) diff --git a/output/wandb/run-20250908_065643-lyib7g2q/files/requirements.txt b/output/wandb/run-20250908_065643-lyib7g2q/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_065643-lyib7g2q/files/wandb-metadata.json b/output/wandb/run-20250908_065643-lyib7g2q/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..21e97e0333ac9d15e78f5d96f706fb8152fb3bf4 --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T06:56:43.722768Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1367495954432" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "nrbwifb91qzia1ndhn1iu2g7eodid6yk" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-core.log b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..04d5f6e7412a473af5a0cc3d1ed452ec4b0937b4 --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-core.log @@ -0,0 +1,7 @@ +{"time":"2025-09-08T06:56:43.750357486Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmp4mhsv4lj/port-3470051.txt","pid":3470051,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T06:56:43.750987576Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3470051} +{"time":"2025-09-08T06:56:43.750983708Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3470051-3470349-2506732261/socket","Net":"unix"}} +{"time":"2025-09-08T06:56:43.936283119Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T06:56:43.944508948Z","level":"INFO","msg":"handleInformInit: received","streamId":"lyib7g2q","id":"1(@)"} +{"time":"2025-09-08T06:56:44.157850577Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"lyib7g2q","id":"1(@)"} +{"time":"2025-09-08T07:06:27.322661473Z","level":"INFO","msg":"server: parent process exited, terminating service process"} diff --git a/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-internal.log b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..9a126e79a331be430035ee9671e8111a0c7ece98 --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug-internal.log @@ -0,0 +1,6 @@ +{"time":"2025-09-08T06:56:43.94460419Z","level":"INFO","msg":"stream: starting","core version":"0.21.3"} +{"time":"2025-09-08T06:56:44.157805156Z","level":"INFO","msg":"stream: created new stream","id":"lyib7g2q"} +{"time":"2025-09-08T06:56:44.157846153Z","level":"INFO","msg":"stream: started","id":"lyib7g2q"} +{"time":"2025-09-08T06:56:44.157856214Z","level":"INFO","msg":"handler: started","stream_id":"lyib7g2q"} +{"time":"2025-09-08T06:56:44.15785768Z","level":"INFO","msg":"sender: started","stream_id":"lyib7g2q"} +{"time":"2025-09-08T06:56:44.157877833Z","level":"INFO","msg":"writer: started","stream_id":"lyib7g2q"} diff --git a/output/wandb/run-20250908_065643-lyib7g2q/logs/debug.log b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..4c210dd5248917229987de9347b55e05893a6645 --- /dev/null +++ b/output/wandb/run-20250908_065643-lyib7g2q/logs/debug.log @@ -0,0 +1,22 @@ +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_setup.py:_flush():81] Configure stats pid to 3470051 +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_065643-lyib7g2q/logs/debug.log +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_065643-lyib7g2q/logs/debug-internal.log +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_init.py:init():813] calling init triggers +2025-09-08 06:56:43,725 INFO MainThread:3470051 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 7956051, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 06:56:43,726 INFO MainThread:3470051 [wandb_init.py:init():854] starting backend +2025-09-08 06:56:43,936 INFO MainThread:3470051 [wandb_init.py:init():857] sending inform_init request +2025-09-08 06:56:43,942 INFO MainThread:3470051 [wandb_init.py:init():865] backend started and connected +2025-09-08 06:56:43,949 INFO MainThread:3470051 [wandb_init.py:init():936] updated telemetry +2025-09-08 06:56:43,956 INFO MainThread:3470051 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 06:56:44,314 INFO MainThread:3470051 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 06:56:44,487 INFO MainThread:3470051 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 06:56:44,487 INFO MainThread:3470051 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 06:56:44,487 INFO MainThread:3470051 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 06:56:44,487 INFO MainThread:3470051 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 06:56:44,489 INFO MainThread:3470051 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 06:56:44,862 INFO MainThread:3470051 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} diff --git a/output/wandb/run-20250908_081933-xtabuxq1/files/config.yaml b/output/wandb/run-20250908_081933-xtabuxq1/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2b105bfc90f0a4bc67cd9af8141d5ad1cb04518 --- /dev/null +++ b/output/wandb/run-20250908_081933-xtabuxq1/files/config.yaml @@ -0,0 +1,159 @@ +_wandb: + value: + cli_version: 0.21.3 + code_path: source-self-forcing-causvid_train_ode.py + e: + 0fh2pmjwzgt2no6kkv0vzcqewqutpwmq: + args: + - --config_path + - configs/wan_causal_ode.yaml + codePath: causvid/train_ode.py + codePathLocal: causvid/train_ode.py + cpu_count: 48 + cpu_count_logical: 96 + cudaVersion: "12.8" + disk: + /: + total: "2079114358784" + used: "1383118893056" + email: liyitong.thu@gmail.com + executable: /home/yitongli/miniconda3/envs/causvid/bin/python3.10 + git: + commit: adb6a5ecd07666b4d0290042915c8406e6d5ce22 + remote: https://github.com/tianweiy/CausVid.git + gpu: NVIDIA A100-SXM4-80GB + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1f47056a-9c2c-8af1-8232-636203622830 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-38de1dff-a680-ec66-625b-49f2a31e3b42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-194ed489-5bfa-defc-85b1-812953e7d84a + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057 + host: ip-172-31-3-169 + memory: + total: "1204521443328" + os: Linux-6.8.0-1028-aws-x86_64-with-glibc2.39 + program: /home/yitongli/CausVid/causvid/train_ode.py + python: CPython 3.10.18 + root: ./output + startedAt: "2025-09-08T08:19:33.312470Z" + writerId: 0fh2pmjwzgt2no6kkv0vzcqewqutpwmq + m: [] + python_version: 3.10.18 + t: + "1": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "2": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "3": + - 16 + - 17 + "4": 3.10.18 + "5": 0.21.3 + "6": 4.56.1 + "12": 0.21.3 + "13": linux-x86_64 +batch_size: + value: 2 +beta1: + value: 0.9 +beta2: + value: 0.999 +data_path: + value: ../mixkit_ode_lmdb +denoising_step_list: + value: + - 1000 + - 757 + - 522 + - 0 +distillation_loss: + value: ode +generator_fsdp_wrap_strategy: + value: size +generator_grad: + value: + model: true +generator_task: + value: causal_video +gradient_checkpointing: + value: true +log_iters: + value: 200 +lr: + value: 2e-06 +mixed_precision: + value: true +model_name: + value: causal_wan +no_save: + value: false +num_frame_per_block: + value: 3 +output_path: + value: ./output +seed: + value: 4894427 +sharding_strategy: + value: hybrid_full +text_encoder_fsdp_wrap_strategy: + value: size +wandb_entity: + value: liyitong-Tsinghua University +wandb_host: + value: https://api.wandb.ai +wandb_key: + value: 5409d3b960b01b25cec0f6abb5361b4022f0cc41 +wandb_name: + value: wan_causal_ode +wandb_project: + value: self-forcing +warp_denoising_step: + value: false diff --git a/output/wandb/run-20250908_081933-xtabuxq1/files/wandb-metadata.json b/output/wandb/run-20250908_081933-xtabuxq1/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..8276a43f367a848b14f88823b7b0d5b00bf24706 --- /dev/null +++ b/output/wandb/run-20250908_081933-xtabuxq1/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T08:19:33.312470Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1383118893056" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "0fh2pmjwzgt2no6kkv0vzcqewqutpwmq" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_081933-xtabuxq1/logs/debug-core.log b/output/wandb/run-20250908_081933-xtabuxq1/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..c56c38c38c84e420285776fc785935ce295b3608 --- /dev/null +++ b/output/wandb/run-20250908_081933-xtabuxq1/logs/debug-core.log @@ -0,0 +1,14 @@ +{"time":"2025-09-08T08:19:33.333709351Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpl2jclwy9/port-3826501.txt","pid":3826501,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T08:19:33.334301481Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3826501} +{"time":"2025-09-08T08:19:33.334288666Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3826501-3826821-56449121/socket","Net":"unix"}} +{"time":"2025-09-08T08:19:33.519765449Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T08:19:33.527245947Z","level":"INFO","msg":"handleInformInit: received","streamId":"xtabuxq1","id":"1(@)"} +{"time":"2025-09-08T08:19:33.72624599Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"xtabuxq1","id":"1(@)"} +{"time":"2025-09-08T08:21:14.249662492Z","level":"INFO","msg":"handleInformTeardown: server teardown initiated","id":"1(@)"} +{"time":"2025-09-08T08:21:14.249744829Z","level":"INFO","msg":"server is shutting down"} +{"time":"2025-09-08T08:21:14.249739693Z","level":"INFO","msg":"connection: closing","id":"1(@)"} +{"time":"2025-09-08T08:21:14.249900377Z","level":"INFO","msg":"server: listener closed","addr":{"Name":"/tmp/wandb-3826501-3826821-56449121/socket","Net":"unix"}} +{"time":"2025-09-08T08:21:14.249928173Z","level":"INFO","msg":"connection: closed successfully","id":"1(@)"} +{"time":"2025-09-08T08:21:14.74398118Z","level":"INFO","msg":"handleInformTeardown: server shutdown complete","id":"1(@)"} +{"time":"2025-09-08T08:21:14.744024642Z","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"1(@)"} +{"time":"2025-09-08T08:21:14.74403815Z","level":"INFO","msg":"server is closed"} diff --git a/output/wandb/run-20250908_081933-xtabuxq1/logs/debug.log b/output/wandb/run-20250908_081933-xtabuxq1/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..224189b467874d001b3b27e63d9f724dd2a46c8c --- /dev/null +++ b/output/wandb/run-20250908_081933-xtabuxq1/logs/debug.log @@ -0,0 +1,24 @@ +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_setup.py:_flush():81] Configure stats pid to 3826501 +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_081933-xtabuxq1/logs/debug.log +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_081933-xtabuxq1/logs/debug-internal.log +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_init.py:init():813] calling init triggers +2025-09-08 08:19:33,313 INFO MainThread:3826501 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 4894427, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 08:19:33,314 INFO MainThread:3826501 [wandb_init.py:init():854] starting backend +2025-09-08 08:19:33,519 INFO MainThread:3826501 [wandb_init.py:init():857] sending inform_init request +2025-09-08 08:19:33,524 INFO MainThread:3826501 [wandb_init.py:init():865] backend started and connected +2025-09-08 08:19:33,527 INFO MainThread:3826501 [wandb_init.py:init():936] updated telemetry +2025-09-08 08:19:33,532 INFO MainThread:3826501 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 08:19:33,885 INFO MainThread:3826501 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 08:19:33,999 INFO MainThread:3826501 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 08:19:33,999 INFO MainThread:3826501 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 08:19:33,999 INFO MainThread:3826501 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 08:19:33,999 INFO MainThread:3826501 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 08:19:34,001 INFO MainThread:3826501 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 08:19:35,140 INFO MainThread:3826501 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} +2025-09-08 08:21:14,249 INFO wandb-AsyncioManager-main:3826501 [service_client.py:_forward_responses():84] Reached EOF. +2025-09-08 08:21:14,250 INFO wandb-AsyncioManager-main:3826501 [mailbox.py:close():137] Closing mailbox, abandoning 1 handles. diff --git a/output/wandb/run-20250908_084516-b1cckt0e/logs/debug-core.log b/output/wandb/run-20250908_084516-b1cckt0e/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..8226428d9279ca4ae91ace4209c9495ff76c3518 --- /dev/null +++ b/output/wandb/run-20250908_084516-b1cckt0e/logs/debug-core.log @@ -0,0 +1,7 @@ +{"time":"2025-09-08T08:45:16.764735165Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmp2ihrl71u/port-3877754.txt","pid":3877754,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T08:45:16.76537437Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3877754} +{"time":"2025-09-08T08:45:16.765346611Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3877754-3878040-3730929431/socket","Net":"unix"}} +{"time":"2025-09-08T08:45:16.950019952Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T08:45:16.958321194Z","level":"INFO","msg":"handleInformInit: received","streamId":"b1cckt0e","id":"1(@)"} +{"time":"2025-09-08T08:45:17.166215832Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"b1cckt0e","id":"1(@)"} +{"time":"2025-09-08T08:48:41.404482127Z","level":"INFO","msg":"server: parent process exited, terminating service process"} diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/files/config.yaml b/output/wandb/run-20250908_084949-b9yvqkt5/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..516bf1bde59a5fe30eaa896f6f94e348e66d27b3 --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/files/config.yaml @@ -0,0 +1,160 @@ +_wandb: + value: + cli_version: 0.21.3 + code_path: source-self-forcing-causvid_train_ode.py + e: + ytk5y3nz1jsnyvdlk65guvab4uhpkdm4: + args: + - --config_path + - configs/wan_causal_ode.yaml + codePath: causvid/train_ode.py + codePathLocal: causvid/train_ode.py + cpu_count: 48 + cpu_count_logical: 96 + cudaVersion: "12.8" + disk: + /: + total: "2079114358784" + used: "1386641809408" + email: liyitong.thu@gmail.com + executable: /home/yitongli/miniconda3/envs/causvid/bin/python3.10 + git: + commit: adb6a5ecd07666b4d0290042915c8406e6d5ce22 + remote: https://github.com/tianweiy/CausVid.git + gpu: NVIDIA A100-SXM4-80GB + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1f47056a-9c2c-8af1-8232-636203622830 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-38de1dff-a680-ec66-625b-49f2a31e3b42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-194ed489-5bfa-defc-85b1-812953e7d84a + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057 + host: ip-172-31-3-169 + memory: + total: "1204521443328" + os: Linux-6.8.0-1028-aws-x86_64-with-glibc2.39 + program: /home/yitongli/CausVid/causvid/train_ode.py + python: CPython 3.10.18 + root: ./output + startedAt: "2025-09-08T08:49:49.541042Z" + writerId: ytk5y3nz1jsnyvdlk65guvab4uhpkdm4 + m: [] + python_version: 3.10.18 + t: + "1": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "2": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "3": + - 16 + - 17 + - 61 + "4": 3.10.18 + "5": 0.21.3 + "6": 4.56.1 + "12": 0.21.3 + "13": linux-x86_64 +batch_size: + value: 2 +beta1: + value: 0.9 +beta2: + value: 0.999 +data_path: + value: ../mixkit_ode_lmdb +denoising_step_list: + value: + - 1000 + - 757 + - 522 + - 0 +distillation_loss: + value: ode +generator_fsdp_wrap_strategy: + value: size +generator_grad: + value: + model: true +generator_task: + value: causal_video +gradient_checkpointing: + value: true +log_iters: + value: 200 +lr: + value: 2e-06 +mixed_precision: + value: true +model_name: + value: causal_wan +no_save: + value: false +num_frame_per_block: + value: 3 +output_path: + value: ./output +seed: + value: 2913400 +sharding_strategy: + value: hybrid_full +text_encoder_fsdp_wrap_strategy: + value: size +wandb_entity: + value: liyitong-Tsinghua University +wandb_host: + value: https://api.wandb.ai +wandb_key: + value: 5409d3b960b01b25cec0f6abb5361b4022f0cc41 +wandb_name: + value: wan_causal_ode +wandb_project: + value: self-forcing +warp_denoising_step: + value: false diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/files/output.log b/output/wandb/run-20250908_084949-b9yvqkt5/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..a41272691cd0864ddd8a4f3f0eebdf614ec515cc --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/files/output.log @@ -0,0 +1,94 @@ +run dir: ./output/wandb/run-20250908_084949-b9yvqkt5/files +KV inference with 3 frames per block +ODERegression initialized. + cache a block wise causal mask with block size of 3 frames +BlockMask(shape=(1, 1, 32768, 32768), sparsity=42.52%, +(0, 0) +████░░ +████░░ +████░░░░░░░░ +██████████░░ +██████████░░ +██████████░░░░░░░░ +████████████████░░ +████████████████░░ +████████████████░░░░░░░░ +██████████████████████░░ +██████████████████████░░ +██████████████████████░░░░░░░░ +████████████████████████████░░ +████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░░░░░░░ +████████████████████████████████████████ +████████████████████████████████████████ +████████████████████████████████████████ +) +arrive +Start gathering distributed model states... +/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py:678: FutureWarning: FSDP.state_dict_type() and FSDP.set_state_dict_type() are being deprecated. Please use APIs, get_state_dict() and set_state_dict(), which can support different parallelisms, FSDP1, FSDP2, DDP. API doc: https://pytorch.org/docs/stable/distributed.checkpoint.html#torch.distributed.checkpoint.state_dict.get_state_dict .Tutorial: https://pytorch.org/tutorials/recipes/distributed_checkpoint_recipe.html . + warnings.warn( +Model saved to ./output/2025-09-08-08-49-49.305637_seed2913400/checkpoint_model_000000/model.pt +training step 0... +########### torch.Size([1, 21, 16, 60, 104]) +Traceback (most recent call last): + File "/home/yitongli/CausVid/causvid/train_ode.py", line 229, in + main() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 223, in main + trainer.train() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 187, in train + self.generate_video() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 181, in generate_video + self.distillation_model.generate_video(ode_latent, conditional_dict) + File "/home/yitongli/CausVid/causvid/ode_regression.py", line 199, in generate_video + video = self.inference_pipeline.inference( + File "/home/yitongli/CausVid/causvid/models/wan/causal_inference.py", line 222, in inference + video = self.vae.decode_to_pixel(output) + File "/home/yitongli/CausVid/causvid/models/wan/wan_wrapper.py", line 83, in decode_to_pixel + output = [ + File "/home/yitongli/CausVid/causvid/models/wan/wan_wrapper.py", line 84, in + self.model.decode(u.unsqueeze(0), + File "/home/yitongli/CausVid/causvid/models/wan/wan_base/modules/vae.py", line 553, in decode + x = self.conv2(z) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1773, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1784, in _call_impl + return forward_call(*args, **kwargs) + File "/home/yitongli/CausVid/causvid/models/wan/wan_base/modules/vae.py", line 36, in forward + return super().forward(x) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 717, in forward + return self._conv_forward(input, self.weight, self.bias) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 712, in _conv_forward + return F.conv3d( +RuntimeError: Input type (c10::BFloat16) and bias type (float) should be the same +[rank0]: Traceback (most recent call last): +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 229, in +[rank0]: main() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 223, in main +[rank0]: trainer.train() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 187, in train +[rank0]: self.generate_video() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 181, in generate_video +[rank0]: self.distillation_model.generate_video(ode_latent, conditional_dict) +[rank0]: File "/home/yitongli/CausVid/causvid/ode_regression.py", line 199, in generate_video +[rank0]: video = self.inference_pipeline.inference( +[rank0]: File "/home/yitongli/CausVid/causvid/models/wan/causal_inference.py", line 222, in inference +[rank0]: video = self.vae.decode_to_pixel(output) +[rank0]: File "/home/yitongli/CausVid/causvid/models/wan/wan_wrapper.py", line 83, in decode_to_pixel +[rank0]: output = [ +[rank0]: File "/home/yitongli/CausVid/causvid/models/wan/wan_wrapper.py", line 84, in +[rank0]: self.model.decode(u.unsqueeze(0), +[rank0]: File "/home/yitongli/CausVid/causvid/models/wan/wan_base/modules/vae.py", line 553, in decode +[rank0]: x = self.conv2(z) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1773, in _wrapped_call_impl +[rank0]: return self._call_impl(*args, **kwargs) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1784, in _call_impl +[rank0]: return forward_call(*args, **kwargs) +[rank0]: File "/home/yitongli/CausVid/causvid/models/wan/wan_base/modules/vae.py", line 36, in forward +[rank0]: return super().forward(x) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 717, in forward +[rank0]: return self._conv_forward(input, self.weight, self.bias) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 712, in _conv_forward +[rank0]: return F.conv3d( +[rank0]: RuntimeError: Input type (c10::BFloat16) and bias type (float) should be the same diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/files/requirements.txt b/output/wandb/run-20250908_084949-b9yvqkt5/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-metadata.json b/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..64bc948c147ecd8bc102f53df547ca7eed43241d --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T08:49:49.541042Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1386641809408" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "ytk5y3nz1jsnyvdlk65guvab4uhpkdm4" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-summary.json b/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..5493f3df7e0ff41f5a57016cd2e779da364da1d4 --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb":{"runtime":134},"_runtime":134.067707153,"generator_loss":0.020751953125,"generator_grad_norm":5.278256416320801,"loss_at_time_250":0.016326904296875,"_timestamp":1.7573215036196253e+09,"_step":0} \ No newline at end of file diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-core.log b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-core.log new file mode 100644 index 0000000000000000000000000000000000000000..5200bad36f9429ad42cdfcb415d085f0626ff178 --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-core.log @@ -0,0 +1,14 @@ +{"time":"2025-09-08T08:49:49.562614129Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpr7mbm8le/port-3899796.txt","pid":3899796,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false} +{"time":"2025-09-08T08:49:49.563183638Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-3899796-3900061-1880589413/socket","Net":"unix"}} +{"time":"2025-09-08T08:49:49.563187036Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":3899796} +{"time":"2025-09-08T08:49:49.748718746Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"} +{"time":"2025-09-08T08:49:49.756209089Z","level":"INFO","msg":"handleInformInit: received","streamId":"b9yvqkt5","id":"1(@)"} +{"time":"2025-09-08T08:49:49.964234191Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"b9yvqkt5","id":"1(@)"} +{"time":"2025-09-08T08:52:04.255668903Z","level":"INFO","msg":"handleInformTeardown: server teardown initiated","id":"1(@)"} +{"time":"2025-09-08T08:52:04.255755182Z","level":"INFO","msg":"connection: closing","id":"1(@)"} +{"time":"2025-09-08T08:52:04.255795637Z","level":"INFO","msg":"server is shutting down"} +{"time":"2025-09-08T08:52:04.256573202Z","level":"INFO","msg":"connection: closed successfully","id":"1(@)"} +{"time":"2025-09-08T08:52:04.263624933Z","level":"INFO","msg":"server: listener closed","addr":{"Name":"/tmp/wandb-3899796-3900061-1880589413/socket","Net":"unix"}} +{"time":"2025-09-08T08:52:04.76114449Z","level":"INFO","msg":"handleInformTeardown: server shutdown complete","id":"1(@)"} +{"time":"2025-09-08T08:52:04.761165019Z","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"1(@)"} +{"time":"2025-09-08T08:52:04.761174679Z","level":"INFO","msg":"server is closed"} diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-internal.log b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..f65eb6aea2f0eaa7dc7a6c0e8b5edf75db8725f9 --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-internal.log @@ -0,0 +1,11 @@ +{"time":"2025-09-08T08:49:49.756354218Z","level":"INFO","msg":"stream: starting","core version":"0.21.3"} +{"time":"2025-09-08T08:49:49.964190017Z","level":"INFO","msg":"stream: created new stream","id":"b9yvqkt5"} +{"time":"2025-09-08T08:49:49.964229664Z","level":"INFO","msg":"stream: started","id":"b9yvqkt5"} +{"time":"2025-09-08T08:49:49.964243758Z","level":"INFO","msg":"writer: started","stream_id":"b9yvqkt5"} +{"time":"2025-09-08T08:49:49.964270263Z","level":"INFO","msg":"handler: started","stream_id":"b9yvqkt5"} +{"time":"2025-09-08T08:49:49.964261355Z","level":"INFO","msg":"sender: started","stream_id":"b9yvqkt5"} +{"time":"2025-09-08T08:52:04.25574272Z","level":"INFO","msg":"stream: closing","id":"b9yvqkt5"} +{"time":"2025-09-08T08:52:04.575873408Z","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"} +{"time":"2025-09-08T08:52:04.755032763Z","level":"INFO","msg":"handler: closed","stream_id":"b9yvqkt5"} +{"time":"2025-09-08T08:52:04.755112443Z","level":"INFO","msg":"sender: closed","stream_id":"b9yvqkt5"} +{"time":"2025-09-08T08:52:04.755121083Z","level":"INFO","msg":"stream: closed","id":"b9yvqkt5"} diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug.log b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..3dc6502e04c60dc447db0eb38ca288595c787ce4 --- /dev/null +++ b/output/wandb/run-20250908_084949-b9yvqkt5/logs/debug.log @@ -0,0 +1,24 @@ +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_setup.py:_flush():81] Configure stats pid to 3899796 +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_084949-b9yvqkt5/logs/debug.log +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_084949-b9yvqkt5/logs/debug-internal.log +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_init.py:init():813] calling init triggers +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 2913400, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 08:49:49,542 INFO MainThread:3899796 [wandb_init.py:init():854] starting backend +2025-09-08 08:49:49,748 INFO MainThread:3899796 [wandb_init.py:init():857] sending inform_init request +2025-09-08 08:49:49,752 INFO MainThread:3899796 [wandb_init.py:init():865] backend started and connected +2025-09-08 08:49:49,754 INFO MainThread:3899796 [wandb_init.py:init():936] updated telemetry +2025-09-08 08:49:49,759 INFO MainThread:3899796 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 08:49:50,186 INFO MainThread:3899796 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 08:49:50,300 INFO MainThread:3899796 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 08:49:50,300 INFO MainThread:3899796 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 08:49:50,300 INFO MainThread:3899796 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 08:49:50,301 INFO MainThread:3899796 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 08:49:50,303 INFO MainThread:3899796 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 08:49:50,698 INFO MainThread:3899796 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} +2025-09-08 08:52:04,255 INFO wandb-AsyncioManager-main:3899796 [service_client.py:_forward_responses():84] Reached EOF. +2025-09-08 08:52:04,255 INFO wandb-AsyncioManager-main:3899796 [mailbox.py:close():137] Closing mailbox, abandoning 1 handles. diff --git a/output/wandb/run-20250908_084949-b9yvqkt5/run-b9yvqkt5.wandb b/output/wandb/run-20250908_084949-b9yvqkt5/run-b9yvqkt5.wandb new file mode 100644 index 0000000000000000000000000000000000000000..350bba0a8d9468c8fcfd491b9339734617205c73 Binary files /dev/null and b/output/wandb/run-20250908_084949-b9yvqkt5/run-b9yvqkt5.wandb differ diff --git a/output/wandb/run-20250908_085656-y8q57cbx/files/output.log b/output/wandb/run-20250908_085656-y8q57cbx/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..49d659ed28b81aaa1bf338318d7c52003224ea9c --- /dev/null +++ b/output/wandb/run-20250908_085656-y8q57cbx/files/output.log @@ -0,0 +1 @@ +run dir: ./output/wandb/run-20250908_085656-y8q57cbx/files diff --git a/output/wandb/run-20250908_085656-y8q57cbx/files/requirements.txt b/output/wandb/run-20250908_085656-y8q57cbx/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_085656-y8q57cbx/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_085656-y8q57cbx/files/wandb-metadata.json b/output/wandb/run-20250908_085656-y8q57cbx/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..05462fa326e10a057b3dc421ad3cd76826eb594c --- /dev/null +++ b/output/wandb/run-20250908_085656-y8q57cbx/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T08:56:56.977649Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1396408811520" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "j1na06z1wvv9hx6dftanb741hwvst9hr" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_085656-y8q57cbx/run-y8q57cbx.wandb b/output/wandb/run-20250908_085656-y8q57cbx/run-y8q57cbx.wandb new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/output/wandb/run-20250908_091534-f394z0xa/files/config.yaml b/output/wandb/run-20250908_091534-f394z0xa/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e0edb714dccb953ab3823ba7e61e0ac332aa223d --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/files/config.yaml @@ -0,0 +1,160 @@ +_wandb: + value: + cli_version: 0.21.3 + code_path: source-self-forcing-causvid_train_ode.py + e: + wcpbsusleulz3a9y7yho5o0ck602eklv: + args: + - --config_path + - configs/wan_causal_ode.yaml + codePath: causvid/train_ode.py + codePathLocal: causvid/train_ode.py + cpu_count: 48 + cpu_count_logical: 96 + cudaVersion: "12.8" + disk: + /: + total: "2079114358784" + used: "1396822892544" + email: liyitong.thu@gmail.com + executable: /home/yitongli/miniconda3/envs/causvid/bin/python3.10 + git: + commit: adb6a5ecd07666b4d0290042915c8406e6d5ce22 + remote: https://github.com/tianweiy/CausVid.git + gpu: NVIDIA A100-SXM4-80GB + gpu_count: 8 + gpu_nvidia: + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-1f47056a-9c2c-8af1-8232-636203622830 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-38de1dff-a680-ec66-625b-49f2a31e3b42 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-194ed489-5bfa-defc-85b1-812953e7d84a + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4 + - architecture: Ampere + cudaCores: 6912 + memoryTotal: "85899345920" + name: NVIDIA A100-SXM4-80GB + uuid: GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057 + host: ip-172-31-3-169 + memory: + total: "1204521443328" + os: Linux-6.8.0-1028-aws-x86_64-with-glibc2.39 + program: /home/yitongli/CausVid/causvid/train_ode.py + python: CPython 3.10.18 + root: ./output + startedAt: "2025-09-08T09:15:34.924173Z" + writerId: wcpbsusleulz3a9y7yho5o0ck602eklv + m: [] + python_version: 3.10.18 + t: + "1": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "2": + - 1 + - 11 + - 41 + - 49 + - 71 + - 83 + - 105 + "3": + - 16 + - 17 + - 61 + "4": 3.10.18 + "5": 0.21.3 + "6": 4.56.1 + "12": 0.21.3 + "13": linux-x86_64 +batch_size: + value: 2 +beta1: + value: 0.9 +beta2: + value: 0.999 +data_path: + value: ../mixkit_ode_lmdb +denoising_step_list: + value: + - 1000 + - 757 + - 522 + - 0 +distillation_loss: + value: ode +generator_fsdp_wrap_strategy: + value: size +generator_grad: + value: + model: true +generator_task: + value: causal_video +gradient_checkpointing: + value: true +log_iters: + value: 200 +lr: + value: 2e-06 +mixed_precision: + value: true +model_name: + value: causal_wan +no_save: + value: false +num_frame_per_block: + value: 3 +output_path: + value: ./output +seed: + value: 4288120 +sharding_strategy: + value: hybrid_full +text_encoder_fsdp_wrap_strategy: + value: size +wandb_entity: + value: liyitong-Tsinghua University +wandb_host: + value: https://api.wandb.ai +wandb_key: + value: 5409d3b960b01b25cec0f6abb5361b4022f0cc41 +wandb_name: + value: wan_causal_ode +wandb_project: + value: self-forcing +warp_denoising_step: + value: false diff --git a/output/wandb/run-20250908_091534-f394z0xa/files/output.log b/output/wandb/run-20250908_091534-f394z0xa/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..b51397aba4a07c074754492b4701b8229dd9ad76 --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/files/output.log @@ -0,0 +1,66 @@ +run dir: ./output/wandb/run-20250908_091534-f394z0xa/files +KV inference with 3 frames per block +ODERegression initialized. + cache a block wise causal mask with block size of 3 frames +BlockMask(shape=(1, 1, 32768, 32768), sparsity=42.52%, +(0, 0) +████░░ +████░░ +████░░░░░░░░ +██████████░░ +██████████░░ +██████████░░░░░░░░ +████████████████░░ +████████████████░░ +████████████████░░░░░░░░ +██████████████████████░░ +██████████████████████░░ +██████████████████████░░░░░░░░ +████████████████████████████░░ +████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░░░░░░░ +████████████████████████████████████████ +████████████████████████████████████████ +████████████████████████████████████████ +) +arrive +Start gathering distributed model states... +/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py:678: FutureWarning: FSDP.state_dict_type() and FSDP.set_state_dict_type() are being deprecated. Please use APIs, get_state_dict() and set_state_dict(), which can support different parallelisms, FSDP1, FSDP2, DDP. API doc: https://pytorch.org/docs/stable/distributed.checkpoint.html#torch.distributed.checkpoint.state_dict.get_state_dict .Tutorial: https://pytorch.org/tutorials/recipes/distributed_checkpoint_recipe.html . + warnings.warn( +Model saved to ./output/2025-09-08-09-15-34.671833_seed4288120/checkpoint_model_000000/model.pt +training step 0... +Saving video: 0%| | 0/3 [00:00 + main() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 279, in main + trainer.train() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 243, in train + self.generate_video() + File "/home/yitongli/CausVid/causvid/train_ode.py", line 217, in generate_video + save_video(video, output_path, fps=15, quality=5) + File "/home/yitongli/CausVid/causvid/train_ode.py", line 42, in save_video + writer.append_data(frame) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/imageio/core/format.py", line 590, in append_data + return self._append_data(im, total_meta) + File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/imageio/plugins/ffmpeg.py", line 584, in _append_data + raise ValueError("Image must have 1, 2, 3 or 4 channels") +ValueError: Image must have 1, 2, 3 or 4 channels +[rank0]: Traceback (most recent call last): +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 285, in +[rank0]: main() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 279, in main +[rank0]: trainer.train() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 243, in train +[rank0]: self.generate_video() +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 217, in generate_video +[rank0]: save_video(video, output_path, fps=15, quality=5) +[rank0]: File "/home/yitongli/CausVid/causvid/train_ode.py", line 42, in save_video +[rank0]: writer.append_data(frame) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/imageio/core/format.py", line 590, in append_data +[rank0]: return self._append_data(im, total_meta) +[rank0]: File "/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/imageio/plugins/ffmpeg.py", line 584, in _append_data +[rank0]: raise ValueError("Image must have 1, 2, 3 or 4 channels") +[rank0]: ValueError: Image must have 1, 2, 3 or 4 channels diff --git a/output/wandb/run-20250908_091534-f394z0xa/files/requirements.txt b/output/wandb/run-20250908_091534-f394z0xa/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_091534-f394z0xa/files/wandb-metadata.json b/output/wandb/run-20250908_091534-f394z0xa/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..69cdc60f4feeff3bac0405d4883ad9cb6e44156c --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T09:15:34.924173Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1396822892544" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "wcpbsusleulz3a9y7yho5o0ck602eklv" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_091534-f394z0xa/files/wandb-summary.json b/output/wandb/run-20250908_091534-f394z0xa/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..39d15f1077bb8b536eae064330d8a1075231cc5e --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/files/wandb-summary.json @@ -0,0 +1 @@ +{"generator_grad_norm":2.03125,"loss_at_time_500":0.148712158203125,"_timestamp":1.7573230600618684e+09,"_step":0,"_wandb":{"runtime":142},"_runtime":142.749615808,"generator_loss":0.16015625} \ No newline at end of file diff --git a/output/wandb/run-20250908_091534-f394z0xa/logs/debug-internal.log b/output/wandb/run-20250908_091534-f394z0xa/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..05609b38831d048103d6d50ebc3452457f39d559 --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/logs/debug-internal.log @@ -0,0 +1,11 @@ +{"time":"2025-09-08T09:15:35.140001084Z","level":"INFO","msg":"stream: starting","core version":"0.21.3"} +{"time":"2025-09-08T09:15:35.350074186Z","level":"INFO","msg":"stream: created new stream","id":"f394z0xa"} +{"time":"2025-09-08T09:15:35.350117697Z","level":"INFO","msg":"stream: started","id":"f394z0xa"} +{"time":"2025-09-08T09:15:35.350127873Z","level":"INFO","msg":"sender: started","stream_id":"f394z0xa"} +{"time":"2025-09-08T09:15:35.350125845Z","level":"INFO","msg":"handler: started","stream_id":"f394z0xa"} +{"time":"2025-09-08T09:15:35.350157006Z","level":"INFO","msg":"writer: started","stream_id":"f394z0xa"} +{"time":"2025-09-08T09:17:58.289962144Z","level":"INFO","msg":"stream: closing","id":"f394z0xa"} +{"time":"2025-09-08T09:17:58.601880656Z","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"} +{"time":"2025-09-08T09:17:58.768362935Z","level":"INFO","msg":"handler: closed","stream_id":"f394z0xa"} +{"time":"2025-09-08T09:17:58.768430865Z","level":"INFO","msg":"sender: closed","stream_id":"f394z0xa"} +{"time":"2025-09-08T09:17:58.768439365Z","level":"INFO","msg":"stream: closed","id":"f394z0xa"} diff --git a/output/wandb/run-20250908_091534-f394z0xa/logs/debug.log b/output/wandb/run-20250908_091534-f394z0xa/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..b6777a8f59ccfb81a513b81079a37a94c64b3508 --- /dev/null +++ b/output/wandb/run-20250908_091534-f394z0xa/logs/debug.log @@ -0,0 +1,24 @@ +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_setup.py:_flush():81] Configure stats pid to 4032801 +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_091534-f394z0xa/logs/debug.log +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_091534-f394z0xa/logs/debug-internal.log +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_init.py:init():813] calling init triggers +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 4288120, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 09:15:34,925 INFO MainThread:4032801 [wandb_init.py:init():854] starting backend +2025-09-08 09:15:35,132 INFO MainThread:4032801 [wandb_init.py:init():857] sending inform_init request +2025-09-08 09:15:35,137 INFO MainThread:4032801 [wandb_init.py:init():865] backend started and connected +2025-09-08 09:15:35,142 INFO MainThread:4032801 [wandb_init.py:init():936] updated telemetry +2025-09-08 09:15:35,147 INFO MainThread:4032801 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 09:15:35,538 INFO MainThread:4032801 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 09:15:35,661 INFO MainThread:4032801 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 09:15:35,661 INFO MainThread:4032801 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 09:15:35,661 INFO MainThread:4032801 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 09:15:35,661 INFO MainThread:4032801 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 09:15:35,664 INFO MainThread:4032801 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 09:15:36,097 INFO MainThread:4032801 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} +2025-09-08 09:17:58,290 INFO wandb-AsyncioManager-main:4032801 [service_client.py:_forward_responses():84] Reached EOF. +2025-09-08 09:17:58,290 INFO wandb-AsyncioManager-main:4032801 [mailbox.py:close():137] Closing mailbox, abandoning 1 handles. diff --git a/output/wandb/run-20250908_091534-f394z0xa/run-f394z0xa.wandb b/output/wandb/run-20250908_091534-f394z0xa/run-f394z0xa.wandb new file mode 100644 index 0000000000000000000000000000000000000000..eacf4e6b2184fffb7ef46279b41c2b5f7a4a428e Binary files /dev/null and b/output/wandb/run-20250908_091534-f394z0xa/run-f394z0xa.wandb differ diff --git a/output/wandb/run-20250908_091953-n3vl9u22/files/output.log b/output/wandb/run-20250908_091953-n3vl9u22/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..6210b5c1812b6be8ba051394a5216b57edbffeb0 --- /dev/null +++ b/output/wandb/run-20250908_091953-n3vl9u22/files/output.log @@ -0,0 +1,103 @@ +run dir: ./output/wandb/run-20250908_091953-n3vl9u22/files +KV inference with 3 frames per block +ODERegression initialized. + cache a block wise causal mask with block size of 3 frames +BlockMask(shape=(1, 1, 32768, 32768), sparsity=42.52%, +(0, 0) +████░░ +████░░ +████░░░░░░░░ +██████████░░ +██████████░░ +██████████░░░░░░░░ +████████████████░░ +████████████████░░ +████████████████░░░░░░░░ +██████████████████████░░ +██████████████████████░░ +██████████████████████░░░░░░░░ +████████████████████████████░░ +████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░ +████████████████████████████████░░░░░░░░ +████████████████████████████████████████ +████████████████████████████████████████ +████████████████████████████████████████ +) +arrive +Start gathering distributed model states... +/home/yitongli/miniconda3/envs/causvid/lib/python3.10/site-packages/torch/distributed/fsdp/fully_sharded_data_parallel.py:678: FutureWarning: FSDP.state_dict_type() and FSDP.set_state_dict_type() are being deprecated. Please use APIs, get_state_dict() and set_state_dict(), which can support different parallelisms, FSDP1, FSDP2, DDP. API doc: https://pytorch.org/docs/stable/distributed.checkpoint.html#torch.distributed.checkpoint.state_dict.get_state_dict .Tutorial: https://pytorch.org/tutorials/recipes/distributed_checkpoint_recipe.html . + warnings.warn( +Model saved to ./output/2025-09-08-09-19-53.321056_seed4187891/checkpoint_model_000000/model.pt +training step 0... +Saving video: 100%|██████████████████████████████████████████████████████████| 81/81 [00:01<00:00, 65.54it/s] +in main process +log video_0 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_1 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_2 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_3 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_4 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_5 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_6 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +log video_7 +wandb: WARNING `fps` argument does not affect the frame rate of the video when providing a file path or raw bytes. +arrive +training step 1... +arrive +training step 2... +arrive +training step 3... +arrive +training step 4... +arrive +training step 5... +arrive +training step 6... +arrive +training step 7... +arrive +training step 8... +arrive +training step 9... +arrive +training step 10... +arrive +training step 11... +arrive +training step 12... +arrive +training step 13... +arrive +training step 14... +arrive +training step 15... +arrive +training step 16... +arrive +training step 17... +arrive +training step 18... +arrive +training step 19... +arrive +training step 20... +arrive +training step 21... +arrive +training step 22... +arrive +training step 23... +arrive +training step 24... +arrive +training step 25... +arrive +training step 26... diff --git a/output/wandb/run-20250908_091953-n3vl9u22/files/requirements.txt b/output/wandb/run-20250908_091953-n3vl9u22/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..4183dfaa007f85b3ae92540c9e5950e346faf26b --- /dev/null +++ b/output/wandb/run-20250908_091953-n3vl9u22/files/requirements.txt @@ -0,0 +1,145 @@ +nvidia-cuda-nvrtc-cu12==12.8.93 +filelock==3.19.1 +aiofiles==24.1.0 +PyYAML==6.0.2 +httpx==0.28.1 +multidict==6.6.4 +tifffile==2025.5.10 +tzdata==2025.2 +urllib3==2.5.0 +decord==0.6.0 +certifi==2025.8.3 +setuptools==78.1.1 +websocket-client==1.8.0 +gitdb==4.0.12 +yarl==1.20.1 +tqdm==4.67.1 +open_clip_torch==3.1.0 +pyparsing==3.2.3 +fastapi==0.116.1 +nvidia-curand-cu12==10.3.9.90 +mdurl==0.1.2 +torchvision==0.23.0 +h11==0.16.0 +pytz==2025.2 +six==1.17.0 +nvidia-cufile-cu12==1.13.1.3 +aiohappyeyeballs==2.6.1 +wandb==0.21.3 +nvidia-nvjitlink-cu12==12.8.93 +cycler==0.12.1 +anyio==4.10.0 +scikit-image==0.25.2 +nvidia-cuda-runtime-cu12==12.8.90 +sentencepiece==0.2.1 +rich==14.1.0 +pydantic==2.11.7 +GitPython==3.1.45 +python-dateutil==2.9.0.post0 +accelerate==1.10.1 +proglog==0.1.12 +sentry-sdk==2.37.0 +nvidia-cusparselt-cu12==0.7.1 +dashscope==1.24.3 +platformdirs==4.4.0 +safehttpx==0.1.6 +fsspec==2025.9.0 +lazy_loader==0.4 +typing_extensions==4.15.0 +semantic-version==2.10.0 +numpy==1.24.4 +nvidia-cufft-cu12==11.3.3.83 +ruff==0.12.12 +nvidia-cudnn-cu12==9.10.2.21 +annotated-types==0.7.0 +decorator==4.4.2 +antlr4-python3-runtime==4.9.3 +psutil==7.0.0 +Brotli==1.1.0 +tomlkit==0.13.3 +httpcore==1.0.9 +kiwisolver==1.4.9 +nvidia-cusparse-cu12==12.5.8.93 +groovy==0.1.2 +protobuf==6.32.0 +orjson==3.11.3 +scipy==1.15.3 +regex==2025.9.1 +MarkupSafe==3.0.2 +av==13.1.0 +timm==1.0.19 +uvicorn==0.35.0 +wheel==0.45.1 +Pygments==2.19.2 +websockets==15.0.1 +lmdb==1.7.3 +sympy==1.14.0 +einops==0.8.1 +idna==3.10 +triton==3.4.0 +torch==2.8.0 +moviepy==1.0.3 +nvidia-nvtx-cu12==12.8.90 +matplotlib==3.10.6 +pillow==11.3.0 +charset-normalizer==3.4.3 +attrs==25.3.0 +aiosignal==1.4.0 +markdown-it-py==4.0.0 +requests==2.32.5 +typer==0.17.4 +huggingface-hub==0.34.4 +nvidia-nccl-cu12==2.27.3 +propcache==0.3.2 +opencv-python==4.11.0.86 +ffmpy==0.6.1 +jmespath==1.0.1 +botocore==1.40.25 +pydantic_core==2.33.2 +fonttools==4.59.2 +omegaconf==2.3.0 +pycparser==2.22 +mpmath==1.3.0 +flash_attn==2.8.3 +smmap==5.0.2 +gradio_client==1.12.1 +exceptiongroup==1.3.0 +cffi==1.17.1 +diffusers==0.31.0 +nvidia-cusolver-cu12==11.7.3.90 +contourpy==1.3.2 +cryptography==45.0.7 +nvidia-cuda-cupti-cu12==12.8.90 +wcwidth==0.2.13 +zipp==3.23.0 +safetensors==0.6.2 +gradio==5.44.1 +click==8.2.1 +frozenlist==1.7.0 +networkx==3.4.2 +s3transfer==0.13.1 +shellingham==1.5.4 +starlette==0.47.3 +packaging==25.0 +ftfy==6.3.1 +importlib_metadata==8.7.0 +transformers==4.56.1 +nvidia-cublas-cu12==12.8.4.1 +Jinja2==3.1.6 +pycocotools==2.0.10 +sniffio==1.3.1 +hf-xet==1.1.9 +typing-inspection==0.4.1 +pandas==2.3.2 +python-multipart==0.0.20 +aiohttp==3.12.15 +clip==1.0 +pydub==0.25.1 +easydict==1.13 +pip==25.2 +tokenizers==0.22.0 +imageio==2.37.0 +async-timeout==5.0.1 +boto3==1.40.25 +imageio-ffmpeg==0.6.0 +CausVid==0.0.1 diff --git a/output/wandb/run-20250908_091953-n3vl9u22/files/wandb-metadata.json b/output/wandb/run-20250908_091953-n3vl9u22/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..928986c637fd9df2efbd395745e1ad9555e68887 --- /dev/null +++ b/output/wandb/run-20250908_091953-n3vl9u22/files/wandb-metadata.json @@ -0,0 +1,93 @@ +{ + "os": "Linux-6.8.0-1028-aws-x86_64-with-glibc2.39", + "python": "CPython 3.10.18", + "startedAt": "2025-09-08T09:19:53.553910Z", + "args": [ + "--config_path", + "configs/wan_causal_ode.yaml" + ], + "program": "/home/yitongli/CausVid/causvid/train_ode.py", + "codePath": "causvid/train_ode.py", + "codePathLocal": "causvid/train_ode.py", + "git": { + "remote": "https://github.com/tianweiy/CausVid.git", + "commit": "adb6a5ecd07666b4d0290042915c8406e6d5ce22" + }, + "email": "liyitong.thu@gmail.com", + "root": "./output", + "host": "ip-172-31-3-169", + "executable": "/home/yitongli/miniconda3/envs/causvid/bin/python3.10", + "cpu_count": 48, + "cpu_count_logical": 96, + "gpu": "NVIDIA A100-SXM4-80GB", + "gpu_count": 8, + "disk": { + "/": { + "total": "2079114358784", + "used": "1395960979456" + } + }, + "memory": { + "total": "1204521443328" + }, + "gpu_nvidia": [ + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-88ce35f2-86d5-a394-f90d-a52e2cd45949" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1039594d-55ae-3eb3-339e-6d4d62c81d42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-1f47056a-9c2c-8af1-8232-636203622830" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-38de1dff-a680-ec66-625b-49f2a31e3b42" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-712ffb29-5da2-92e5-99b7-9f148e8c1204" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-194ed489-5bfa-defc-85b1-812953e7d84a" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-21b1f0be-4c00-4af7-0649-9942ae8fd0e4" + }, + { + "name": "NVIDIA A100-SXM4-80GB", + "memoryTotal": "85899345920", + "cudaCores": 6912, + "architecture": "Ampere", + "uuid": "GPU-195cca5b-c8ee-790b-4d30-ae4d7aa93057" + } + ], + "cudaVersion": "12.8", + "writerId": "ac2d4hxtxilc5pq3t0wd4csxaq2rafrj" +} \ No newline at end of file diff --git a/output/wandb/run-20250908_091953-n3vl9u22/logs/debug-internal.log b/output/wandb/run-20250908_091953-n3vl9u22/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..a32c154aac32b4e3425d1f69e52ce6f8079a7d50 --- /dev/null +++ b/output/wandb/run-20250908_091953-n3vl9u22/logs/debug-internal.log @@ -0,0 +1,6 @@ +{"time":"2025-09-08T09:19:53.772588154Z","level":"INFO","msg":"stream: starting","core version":"0.21.3"} +{"time":"2025-09-08T09:19:53.978048604Z","level":"INFO","msg":"stream: created new stream","id":"n3vl9u22"} +{"time":"2025-09-08T09:19:53.978094132Z","level":"INFO","msg":"stream: started","id":"n3vl9u22"} +{"time":"2025-09-08T09:19:53.978105788Z","level":"INFO","msg":"writer: started","stream_id":"n3vl9u22"} +{"time":"2025-09-08T09:19:53.978109548Z","level":"INFO","msg":"handler: started","stream_id":"n3vl9u22"} +{"time":"2025-09-08T09:19:53.978134061Z","level":"INFO","msg":"sender: started","stream_id":"n3vl9u22"} diff --git a/output/wandb/run-20250908_091953-n3vl9u22/logs/debug.log b/output/wandb/run-20250908_091953-n3vl9u22/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..59ae9db88db79a173d5355c07b12a2213407f656 --- /dev/null +++ b/output/wandb/run-20250908_091953-n3vl9u22/logs/debug.log @@ -0,0 +1,22 @@ +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_setup.py:_flush():81] Current SDK version is 0.21.3 +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_setup.py:_flush():81] Configure stats pid to 4049443 +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/.config/wandb/settings +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_setup.py:_flush():81] Loading settings from /home/yitongli/CausVid/wandb/settings +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_setup.py:_flush():81] Loading settings from environment variables +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_init.py:setup_run_log_directory():686] Logging user logs to ./output/wandb/run-20250908_091953-n3vl9u22/logs/debug.log +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_init.py:setup_run_log_directory():687] Logging internal logs to ./output/wandb/run-20250908_091953-n3vl9u22/logs/debug-internal.log +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_init.py:init():813] calling init triggers +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_init.py:init():818] wandb.init called with sweep_config: {} +config: {'model_name': 'causal_wan', 'generator_grad': {'model': True}, 'denoising_step_list': [1000, 757, 522, 0], 'generator_task': 'causal_video', 'generator_fsdp_wrap_strategy': 'size', 'text_encoder_fsdp_wrap_strategy': 'size', 'mixed_precision': True, 'seed': 4187891, 'wandb_host': 'https://api.wandb.ai', 'wandb_key': '5409d3b960b01b25cec0f6abb5361b4022f0cc41', 'wandb_entity': 'liyitong-Tsinghua University', 'wandb_project': 'self-forcing', 'wandb_name': 'wan_causal_ode', 'sharding_strategy': 'hybrid_full', 'lr': 2e-06, 'beta1': 0.9, 'beta2': 0.999, 'data_path': '../mixkit_ode_lmdb', 'batch_size': 2, 'log_iters': 200, 'output_path': './output', 'distillation_loss': 'ode', 'gradient_checkpointing': True, 'num_frame_per_block': 3, 'warp_denoising_step': False, 'no_save': False, '_wandb': {}} +2025-09-08 09:19:53,555 INFO MainThread:4049443 [wandb_init.py:init():854] starting backend +2025-09-08 09:19:53,762 INFO MainThread:4049443 [wandb_init.py:init():857] sending inform_init request +2025-09-08 09:19:53,766 INFO MainThread:4049443 [wandb_init.py:init():865] backend started and connected +2025-09-08 09:19:53,770 INFO MainThread:4049443 [wandb_init.py:init():936] updated telemetry +2025-09-08 09:19:53,775 INFO MainThread:4049443 [wandb_init.py:init():960] communicating run to backend with 90.0 second timeout +2025-09-08 09:19:54,182 INFO MainThread:4049443 [wandb_init.py:init():1011] starting run threads in backend +2025-09-08 09:19:54,293 INFO MainThread:4049443 [wandb_run.py:_console_start():2494] atexit reg +2025-09-08 09:19:54,293 INFO MainThread:4049443 [wandb_run.py:_redirect():2342] redirect: wrap_raw +2025-09-08 09:19:54,294 INFO MainThread:4049443 [wandb_run.py:_redirect():2411] Wrapping output streams. +2025-09-08 09:19:54,294 INFO MainThread:4049443 [wandb_run.py:_redirect():2434] Redirects installed. +2025-09-08 09:19:54,296 INFO MainThread:4049443 [wandb_init.py:init():1057] run started, returning control to user process +2025-09-08 09:19:54,676 INFO MainThread:4049443 [wandb_run.py:_config_callback():1380] config_cb None None {'_wandb': {'code_path': 'source-self-forcing-causvid_train_ode.py'}} diff --git a/tests/causal_wan/test_causal_diffusion.py b/tests/causal_wan/test_causal_diffusion.py new file mode 100644 index 0000000000000000000000000000000000000000..23aadd3326980748668694fb3c05d4354a188564 --- /dev/null +++ b/tests/causal_wan/test_causal_diffusion.py @@ -0,0 +1,35 @@ +from causvid.models.wan.wan_wrapper import CausalWanDiffusionWrapper, WanTextEncoder, WanVAEWrapper +from diffusers.utils import export_to_video +import torch + +torch.set_grad_enabled(False) + +model = CausalWanDiffusionWrapper().to("cuda").to(torch.float32) +encoder = WanTextEncoder().to("cuda").to(torch.float32) +vae = WanVAEWrapper().to("cuda").to(torch.float32) + +model.set_module_grad( + { + "model": False + } +) + +text_prompts = [r"""A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about."""] * 2 + +conditional_dict = encoder( + text_prompts=text_prompts +) + +noise = torch.randn( + 2, 21, 16, 60, 104, generator=torch.Generator().manual_seed(42), dtype=torch.float32 +).to("cuda") + +timetep = 999 * torch.ones([2, 21], device="cuda", dtype=torch.long) + +with torch.no_grad(): + output = model(noise, conditional_dict, timetep) + video = vae.decode_to_pixel(output) + +video = (video * 0.5 + 0.5).cpu().detach().to(torch.float32)[0].permute(0, 2, 3, 1).numpy() + +export_to_video(video, "causal_output.mp4", fps=8) diff --git a/tests/causal_wan/test_causal_inference_long_video_pipeline.py b/tests/causal_wan/test_causal_inference_long_video_pipeline.py new file mode 100644 index 0000000000000000000000000000000000000000..fda1e48888aa0ef549e92a4897137a3644d17ecf --- /dev/null +++ b/tests/causal_wan/test_causal_inference_long_video_pipeline.py @@ -0,0 +1,81 @@ +from causvid.models.wan.causal_inference import InferencePipeline +from diffusers.utils import export_to_video +from causvid.data import TextDataset +from omegaconf import OmegaConf +from tqdm import tqdm +import numpy as np +import argparse +import torch +import os + +parser = argparse.ArgumentParser() +parser.add_argument("--config_path", type=str) +parser.add_argument("--checkpoint_folder", type=str) +parser.add_argument("--prompt_file_path", type=str) + +args = parser.parse_args() + +torch.set_grad_enabled(False) + +config = OmegaConf.load(args.config_path) + +pipeline = InferencePipeline(config, device="cuda") +pipeline.to(device="cuda", dtype=torch.bfloat16) + +state_dict = torch.load(os.path.join(args.checkpoint_folder, "model.pt"), map_location="cpu")[ + 'generator'] + +pipeline.generator.load_state_dict( + state_dict, strict=True +) + +dataset = TextDataset(args.prompt_file_path) + +num_rollout = 3 + + +def encode(self, videos: torch.Tensor) -> torch.Tensor: + device, dtype = videos[0].device, videos[0].dtype + scale = [self.mean.to(device=device, dtype=dtype), + 1.0 / self.std.to(device=device, dtype=dtype)] + output = [ + self.model.encode(u.unsqueeze(0), scale).float().squeeze(0) + for u in videos + ] + + output = torch.stack(output, dim=0) + return output + + +for prompt_index in tqdm(range(len(dataset))): + prompts = [dataset[prompt_index]] + start_latents = None + all_video = [] + + for rollout_index in range(num_rollout): + sampled_noise = torch.randn( + [1, 21, 16, 60, 104], device="cuda", dtype=torch.bfloat16 + ) + + video, latents = pipeline.inference( + noise=sampled_noise, + text_prompts=prompts, + return_latents=True, + start_latents=start_latents + ) + + current_video = video[0].permute(0, 2, 3, 1).cpu().numpy() + + start_frame = encode(pipeline.vae, (video[:, :, -9:-8] * 2.0 - 1.0).to( + torch.bfloat16)).transpose(2, 1).to(torch.bfloat16) + + start_latents = torch.cat( + [start_frame, latents[:, -2:]], dim=1 + ) + + all_video.append(current_video[:-9]) + + video = np.concatenate(all_video, axis=0) + + export_to_video( + video, os.path.join(args.checkpoint_folder, f"long_video_output_{prompt_index:03d}.mp4"), fps=16) diff --git a/tests/causal_wan/test_causal_inference_pipeline.py b/tests/causal_wan/test_causal_inference_pipeline.py new file mode 100644 index 0000000000000000000000000000000000000000..a0787e7c2207494ec67a77943e300bdda57b9ee3 --- /dev/null +++ b/tests/causal_wan/test_causal_inference_pipeline.py @@ -0,0 +1,45 @@ +from causvid.models.wan.causal_inference import InferencePipeline +from diffusers.utils import export_to_video +from causvid.data import TextDataset +from omegaconf import OmegaConf +from tqdm import tqdm +import argparse +import torch +import os + +parser = argparse.ArgumentParser() +parser.add_argument("--config_path", type=str) +parser.add_argument("--checkpoint_folder", type=str) + +args = parser.parse_args() + +torch.set_grad_enabled(False) + +config = OmegaConf.load(args.config_path) + +pipeline = InferencePipeline(config, device="cuda") +pipeline.to(device="cuda", dtype=torch.bfloat16) + +state_dict = torch.load(os.path.join(args.checkpoint_folder, "model.pt"), map_location="cpu")[ + 'generator'] + +pipeline.generator.load_state_dict( + state_dict, strict=True +) + +dataset = TextDataset('sample_dataset/MovieGenVideoBench.txt') + +sampled_noise = torch.randn( + [1, 21, 16, 60, 104], device="cuda", dtype=torch.bfloat16 +) + +for prompt_index in tqdm(range(len(dataset))): + prompts = [dataset[prompt_index]] + + video = pipeline.inference( + noise=sampled_noise, + text_prompts=prompts + )[0].permute(0, 2, 3, 1).cpu().numpy() + + export_to_video( + video, os.path.join(args.checkpoint_folder, f"output_{prompt_index:03d}.mp4"), fps=16) diff --git a/tests/sdxl/test_data.py b/tests/sdxl/test_data.py new file mode 100644 index 0000000000000000000000000000000000000000..2879889c10438a7ce2a6b8dc898d19177c0d4e13 --- /dev/null +++ b/tests/sdxl/test_data.py @@ -0,0 +1,11 @@ +from causvid.data import TextDataset +import torch + +dataset = TextDataset("sample_dataset/captions_coco14_test.txt") +dataloader = torch.utils.data.DataLoader( + dataset, batch_size=32, shuffle=False, drop_last=True) + +for batch in dataloader: + print( + f"batch element type {type(batch[0])} batch length {len(batch)} batch first element {batch[0]}") + break diff --git a/tests/sdxl/test_diffusion.py b/tests/sdxl/test_diffusion.py new file mode 100644 index 0000000000000000000000000000000000000000..f5e122338489b69b8d5ea53f5ae27fdbae379709 --- /dev/null +++ b/tests/sdxl/test_diffusion.py @@ -0,0 +1,43 @@ +from causvid.models.sdxl.sdxl_wrapper import SDXLWrapper, SDXLTextEncoder, SDXLVAE +from huggingface_hub import hf_hub_download +from PIL import Image +import torch + +torch.set_grad_enabled(False) + +model = SDXLWrapper().to("cuda") +encoder = SDXLTextEncoder().to("cuda") +vae = SDXLVAE().to("cuda") + +repo_name = "tianweiy/DMD2" +ckpt_name = "dmd2_sdxl_1step_unet_fp16.bin" +model.model.load_state_dict(torch.load( + hf_hub_download(repo_name, ckpt_name), map_location="cuda")) +model.set_module_grad( + { + "model": False + } +) + +conditional_dict = encoder( + text_prompts=["a photo of a cat"] * 4 +) + +noise = torch.randn( + 4, 1, 4, 128, 128, generator=torch.Generator().manual_seed(42) +).to("cuda") + +timetep = 399 * torch.ones([4, 1], device="cuda", dtype=torch.long) +output = model(noise, conditional_dict, timetep) + +# [B, F, C, H, W] -> [B, C, H, W] +images = vae.decode_to_pixel(output).squeeze(1) + +images = ((images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +output_image_list = [] +for index, image in enumerate(images): + output_image_list.append(Image.fromarray(image.cpu().numpy())) + + output_image_list[-1].save(f"output_image_{index}.jpg") diff --git a/tests/sdxl/test_dmd.py b/tests/sdxl/test_dmd.py new file mode 100644 index 0000000000000000000000000000000000000000..d8970e0a3014abc5b0dffa64ab07e762886356de --- /dev/null +++ b/tests/sdxl/test_dmd.py @@ -0,0 +1,157 @@ +from huggingface_hub import hf_hub_download +from omegaconf import OmegaConf +from causvid.dmd import DMD +from PIL import Image +import torch + +torch.set_grad_enabled(False) + +config = OmegaConf.load("configs/sdxl_8node_dmd_config.yaml") + +config.mixed_precision = False + +dmd_model = DMD(config, device="cuda") +dmd_model = dmd_model.to("cuda") + +repo_name = "tianweiy/DMD2" +ckpt_name = "dmd2_sdxl_4step_unet_fp16.bin" + +dmd_model.generator.model.load_state_dict(torch.load( + hf_hub_download(repo_name, ckpt_name), map_location="cuda")) + +conditional_dict = dmd_model.text_encoder( + text_prompts=["a photo of a cat"] * 4 +) + +unconditional_dict = dmd_model.text_encoder( + text_prompts=[""] * 4 +) + +print("Test 1: Backward Simulation") + +noise = torch.randn( + 4, 1, 4, 128, 128, generator=torch.Generator().manual_seed(42) +).to("cuda") + +image_or_video_shape = [4, 1, 4, 128, 128] + + +simulated_input = dmd_model._consistency_backward_simulation( + noise=torch.randn(image_or_video_shape, + device="cuda", dtype=torch.float32), + conditional_dict=conditional_dict +) + +# 4 x 1 x 4 x 128 x 128 +output = simulated_input[:, -1] +# [B, F, C, H, W] -> [B, C, H, W] +images = dmd_model.vae.decode_to_pixel(output).squeeze(1) + +images = ((images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +output_image_list = [] +for index, image in enumerate(images): + output_image_list.append(Image.fromarray(image.cpu().numpy())) + + output_image_list[-1].save(f"backsim_image_{index}.jpg") + +print("Test 2: Generator Loss") +generator_loss, generator_log_dict = dmd_model.generator_loss( + image_or_video_shape=image_or_video_shape, + conditional_dict=conditional_dict, + unconditional_dict=unconditional_dict, + clean_latent=None +) + +print("Test 3: Critic Loss") +critic_loss, critic_log_dict = dmd_model.critic_loss( + image_or_video_shape=image_or_video_shape, + conditional_dict=conditional_dict, + unconditional_dict=unconditional_dict, + clean_latent=None +) + +print( + f"Generator Loss: {generator_loss}. dmdtrain_gradient_norm: {generator_log_dict['dmdtrain_gradient_norm']}") + +print( + f"Critic Loss: {critic_loss}.") + +(dmdtrain_clean_latent, dmdtrain_noisy_latent, dmdtrain_pred_real_image, dmdtrain_pred_fake_image) = ( + generator_log_dict['dmdtrain_clean_latent'], + generator_log_dict['dmdtrain_noisy_latent'], + generator_log_dict['dmdtrain_pred_real_image'], + generator_log_dict['dmdtrain_pred_fake_image'] +) + +(critictrain_latent, critictrain_noisy_latent, critictrain_pred_image) = ( + critic_log_dict['critictrain_latent'], + critic_log_dict['critictrain_noisy_latent'], + critic_log_dict['critictrain_pred_image'] +) + + +dmdtrain_clean_latent_images = dmd_model.vae.decode_to_pixel( + dmdtrain_clean_latent).squeeze(1) + +dmdtrain_noisy_latent_images = dmd_model.vae.decode_to_pixel( + dmdtrain_noisy_latent).squeeze(1) + +dmdtrain_pred_real_image_images = dmd_model.vae.decode_to_pixel( + dmdtrain_pred_real_image).squeeze(1) + +dmdtrain_pred_fake_image_images = dmd_model.vae.decode_to_pixel( + dmdtrain_pred_fake_image).squeeze(1) + +critictrain_latent_images = dmd_model.vae.decode_to_pixel( + critictrain_latent).squeeze(1) + +critictrain_noisy_latent_images = dmd_model.vae.decode_to_pixel( + critictrain_noisy_latent).squeeze(1) + +critictrain_pred_image_images = dmd_model.vae.decode_to_pixel( + critictrain_pred_image).squeeze(1) + +dmdtrain_clean_latent_images = ((dmdtrain_clean_latent_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +dmdtrain_noisy_latent_images = ((dmdtrain_noisy_latent_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +dmdtrain_pred_real_image_images = ((dmdtrain_pred_real_image_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +dmdtrain_pred_fake_image_images = ((dmdtrain_pred_fake_image_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +critictrain_latent_images = ((critictrain_latent_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +critictrain_noisy_latent_images = ((critictrain_noisy_latent_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +critictrain_pred_image_images = ((critictrain_pred_image_images + 1.0) * 127.5).clamp(0, + 255).to(torch.uint8).permute(0, 2, 3, 1) + +for index in range(len(dmdtrain_clean_latent_images)): + Image.fromarray(dmdtrain_clean_latent_images[index].cpu().numpy()).save( + f"dmdtrain_clean_latent_image_{index}.jpg") + + Image.fromarray(dmdtrain_noisy_latent_images[index].cpu().numpy()).save( + f"dmdtrain_noisy_latent_image_{index}.jpg") + + Image.fromarray(dmdtrain_pred_real_image_images[index].cpu().numpy()).save( + f"dmdtrain_pred_real_image_{index}.jpg") + + Image.fromarray(dmdtrain_pred_fake_image_images[index].cpu().numpy()).save( + f"dmdtrain_pred_fake_image_{index}.jpg") + + Image.fromarray(critictrain_latent_images[index].cpu().numpy()).save( + f"critictrain_latent_image_{index}.jpg") + + Image.fromarray(critictrain_noisy_latent_images[index].cpu().numpy()).save( + f"critictrain_noisy_latent_image_{index}.jpg") + + Image.fromarray(critictrain_pred_image_images[index].cpu().numpy()).save( + f"critictrain_pred_image_{index}.jpg") diff --git a/tests/sdxl/test_text_encoder.py b/tests/sdxl/test_text_encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..b8432be84b4d123fc405e5c6b607232f3319022b --- /dev/null +++ b/tests/sdxl/test_text_encoder.py @@ -0,0 +1,30 @@ +from causvid.models.sdxl.sdxl_wrapper import SDXLTextEncoder +import time + +model = SDXLTextEncoder() + +prompt_list = ["a" * 300] * 20 + +print("Test Text Tokenizer") + +for _ in range(20): + start = time.time() + + output = model._encode_prompt(prompt_list) + + assert "text_input_ids_one" in output.keys() + assert "text_input_ids_two" in output + + assert output["text_input_ids_one"].shape[0] == 20 and output["text_input_ids_one"].shape[1] == 77 + assert output["text_input_ids_two"].shape[0] == 20 and output["text_input_ids_two"].shape[1] == 77 + + end = time.time() + + print(f"Time taken: {end - start}") + +print("Test Text Encoder") + +encoded_dict = model(prompt_list) + +assert encoded_dict['prompt_embeds'].shape[1] == 77 and encoded_dict['prompt_embeds'].shape[2] == 2048 +assert encoded_dict['pooled_prompt_embeds'].shape[0] == 20 and encoded_dict['pooled_prompt_embeds'].shape[1] == 1280 diff --git a/tests/wan/test_bidirectional_dmd.py b/tests/wan/test_bidirectional_dmd.py new file mode 100644 index 0000000000000000000000000000000000000000..eb9a4ab3e7f14a0512b8589a46eb5e9ce8f36165 --- /dev/null +++ b/tests/wan/test_bidirectional_dmd.py @@ -0,0 +1,60 @@ +import pdb +from diffusers.utils import export_to_video +from omegaconf import OmegaConf +from causvid.dmd import DMD +from PIL import Image +import torch + +torch.set_grad_enabled(False) + +config = OmegaConf.load("configs/wan_bidirectional_dmd.yaml") + +dmd_model = DMD(config, device="cuda") +dmd_model = dmd_model.to(torch.bfloat16).cuda() + +conditional_dict = dmd_model.text_encoder( + text_prompts=[r"""A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about."""] +) + +unconditional_dict = dmd_model.text_encoder(text_prompts=[config.negative_prompt] * 1) + +print("Test 1: Backward Simulation") + +image_or_video_shape = [1, 21, 16, 60, 104] + +simulated_input = dmd_model._consistency_backward_simulation( + noise=torch.randn(image_or_video_shape, + device="cuda", dtype=torch.bfloat16), + conditional_dict=conditional_dict +) + +# 4 x 1 x 4 x 128 x 128 +output = simulated_input[:, -1] +# [B, F, C, H, W] -> [B, C, H, W] +video = dmd_model.vae.decode_to_pixel(output).cpu().detach() + +video = ((video + 1.0) / 2.0).clamp(0, 1)[0].permute(0, 2, 3, 1).numpy() + +export_to_video(video, "backward_simulated_video.mp4", fps=16) + +print("Test 2: Generator Loss") +generator_loss, generator_log_dict = dmd_model.generator_loss( + image_or_video_shape=image_or_video_shape, + conditional_dict=conditional_dict, + unconditional_dict=unconditional_dict, + clean_latent=None +) + +print("Test 3: Critic Loss") +critic_loss, critic_log_dict = dmd_model.critic_loss( + image_or_video_shape=image_or_video_shape, + conditional_dict=conditional_dict, + unconditional_dict=unconditional_dict, + clean_latent=None +) + +print( + f"Generator Loss: {generator_loss}. dmdtrain_gradient_norm: {generator_log_dict['dmdtrain_gradient_norm']}") + +print( + f"Critic Loss: {critic_loss}.") diff --git a/tests/wan/test_bidirectional_fewstep.py b/tests/wan/test_bidirectional_fewstep.py new file mode 100644 index 0000000000000000000000000000000000000000..25e776d8d580dbd85e5eefdd99a0d4f69cd424c0 --- /dev/null +++ b/tests/wan/test_bidirectional_fewstep.py @@ -0,0 +1,46 @@ +from causvid.models.wan.bidirectional_inference import BidirectionalInferencePipeline +from huggingface_hub import hf_hub_download +from diffusers.utils import export_to_video +from causvid.data import TextDataset +from omegaconf import OmegaConf +from tqdm import tqdm +import argparse +import torch +import os + +parser = argparse.ArgumentParser() +parser.add_argument("--config_path", type=str) +parser.add_argument("--checkpoint_folder", type=str) + +args = parser.parse_args() + +torch.backends.cuda.matmul.allow_tf32 = True +torch.backends.cudnn.allow_tf32 = True + +torch.set_grad_enabled(False) + +config = OmegaConf.load(args.config_path) + +pipe = BidirectionalInferencePipeline(config, device="cuda") + +state_dict = torch.load(os.path.join(args.checkpoint_folder, "model.pt"), map_location="cpu")[ + 'generator'] + +pipe.generator.load_state_dict(state_dict) + +pipe = pipe.to(device="cuda", dtype=torch.bfloat16) + +dataset = TextDataset('sample_dataset/MovieGenVideoBench.txt') + +for index in tqdm(range(len(dataset))): + prompt = dataset[index] + video = pipe.inference( + noise=torch.randn( + 1, 21, 16, 60, 104, generator=torch.Generator(device="cuda").manual_seed(42), + dtype=torch.bfloat16, device="cuda" + ), + text_prompts=[prompt] + )[0].permute(0, 2, 3, 1).cpu().numpy() + + export_to_video( + video, os.path.join(args.checkpoint_folder, f"output_{index:03d}.mp4"), fps=16) diff --git a/tests/wan/test_causal_diffusion_timestep_breakdown.py b/tests/wan/test_causal_diffusion_timestep_breakdown.py new file mode 100644 index 0000000000000000000000000000000000000000..61f389baaf3abd73593cb06e9db810199c0f2749 --- /dev/null +++ b/tests/wan/test_causal_diffusion_timestep_breakdown.py @@ -0,0 +1,54 @@ +from causvid.models.wan.wan_wrapper import WanDiffusionWrapper, WanTextEncoder, WanVAEWrapper +from causvid.models.wan.flow_match import FlowMatchScheduler +from diffusers.utils import export_to_video +import torch + +torch.set_grad_enabled(False) + +model = WanDiffusionWrapper().to("cuda").to(torch.bfloat16) +encoder = WanTextEncoder().to("cuda").to(torch.bfloat16) +vae = WanVAEWrapper().to("cuda").to(torch.bfloat16) + +model.set_module_grad( + { + "model": False + } +) + +text_prompts = [r"""A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about."""] * 2 + +conditional_dict = encoder( + text_prompts=text_prompts +) + +device = "cuda" + +noise = torch.randn( + 1, 21, 16, 60, 104, generator=torch.Generator().manual_seed(42), dtype=torch.float32 +).to("cuda") + +scheduler = FlowMatchScheduler(shift=8.0, sigma_min=0.0, extra_one_step=True) +scheduler.set_timesteps(1000, denoising_strength=1.0) +scheduler.sigmas = scheduler.sigmas.to(device) + +data = torch.load("wan_moviegen_ode/00000.pt") +prompt = list(data.keys())[0] +video_latent = data[prompt][:, -1].cuda().to(torch.bfloat16) + +for timestep in [100, 200, 300, 400, 500, 600, 700, 800, 900]: + timestep = timestep * \ + torch.ones([1, 21], device="cuda", dtype=torch.float32) + + noisy_latent = scheduler.add_noise( + video_latent.flatten(0, 1), + noise.flatten(0, 1), + timestep.flatten(0, 1) + ).unflatten(0, noise.shape[:2]).type_as(video_latent) + + output = model(noisy_latent, conditional_dict, timestep) + + video = vae.decode_to_pixel(output) + video = (video * 0.5 + 0.5).cpu().detach().to(torch.float32)[0].permute(0, 2, 3, 1).numpy() + + export_to_video( + video, f"one_stpe_output_t={timestep[0, 0].item()}.mp4", fps=16) diff --git a/tests/wan/test_diffusion.py b/tests/wan/test_diffusion.py new file mode 100644 index 0000000000000000000000000000000000000000..474a69b9468fd9edfd218a55ed1203f5a84ca780 --- /dev/null +++ b/tests/wan/test_diffusion.py @@ -0,0 +1,35 @@ +from causvid.models.wan.wan_wrapper import WanDiffusionWrapper, WanTextEncoder, WanVAEWrapper +from diffusers.utils import export_to_video +import torch + +torch.set_grad_enabled(False) + +model = WanDiffusionWrapper().to("cuda").to(torch.float32) +encoder = WanTextEncoder().to("cuda").to(torch.float32) +vae = WanVAEWrapper().to("cuda").to(torch.float32) + +model.set_module_grad( + { + "model": False + } +) + +text_prompts = [r"""A stylish woman walks down a Tokyo street filled with warm glowing neon and animated city signage. She wears a black leather jacket, a long red dress, and black boots, and carries a black purse. She wears sunglasses and red lipstick. She walks confidently and casually. The street is damp and reflective, creating a mirror effect of the colorful lights. Many pedestrians walk about."""] + +conditional_dict = encoder( + text_prompts=text_prompts +) + +noise = torch.randn( + 1, 21, 16, 60, 104, generator=torch.Generator().manual_seed(42), dtype=torch.float32 +).to("cuda") + +timetep = 999 * torch.ones([1, 21], device="cuda", dtype=torch.long) + +with torch.no_grad(): + output = model(noise, conditional_dict, timetep) + video = vae.decode_to_pixel(output) + +video = (video * 0.5 + 0.5).cpu().detach().to(torch.float32)[0].permute(0, 2, 3, 1).numpy() + +export_to_video(video, "output.mp4", fps=8) diff --git a/tests/wan/test_text_encoder.py b/tests/wan/test_text_encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..c372443ccd5d713d4419094e6823e17ec1f3e4d7 --- /dev/null +++ b/tests/wan/test_text_encoder.py @@ -0,0 +1,16 @@ +from causvid.models.wan.wan_wrapper import WanTextEncoder +import torch + +torch.set_grad_enabled(False) + +model = WanTextEncoder().to(device="cuda:0", dtype=torch.bfloat16) + +prompt_list = ["a " * 50] * 10 + ["b " * 25] * 10 + + +print("Test Text Encoder") + +encoded_dict = model(prompt_list) + +assert encoded_dict['prompt_embeds'].shape[0] == 20 and encoded_dict[ + 'prompt_embeds'].shape[1] == 512 and encoded_dict['prompt_embeds'].shape[2] == 4096 diff --git a/tests/wan/test_wan_ode_pairs.py b/tests/wan/test_wan_ode_pairs.py new file mode 100644 index 0000000000000000000000000000000000000000..6a124d3313fde0778c0fc58cdfad79e8107a8c74 --- /dev/null +++ b/tests/wan/test_wan_ode_pairs.py @@ -0,0 +1,28 @@ +from causvid.models.wan.wan_wrapper import WanVAEWrapper +from diffusers.utils import export_to_video +import argparse +import torch +import glob + +parser = argparse.ArgumentParser() +parser.add_argument("--data_path", type=str, required=True) + +args = parser.parse_args() + +torch.set_grad_enabled(False) + +model = WanVAEWrapper().to(device="cuda:0", dtype=torch.bfloat16) + + +for index, video_path in enumerate(sorted(glob.glob(args.data_path + "/*.pt"))): + data = torch.load(video_path) + + prompt = list(data.keys())[0] + + video_latent = data[prompt][:, -1].cuda().to(torch.bfloat16) + + video = model.decode_to_pixel(video_latent) + + video = (video * 0.5 + 0.5).clamp(0, 1)[0].permute(0, 2, 3, 1).cpu().numpy() + print(index, prompt) + export_to_video(video, f"ode_output_{index:03d}.mp4", fps=16) diff --git a/tests/wan/test_wan_teacher_wrapper_many_step_sampling.py b/tests/wan/test_wan_teacher_wrapper_many_step_sampling.py new file mode 100644 index 0000000000000000000000000000000000000000..7b8c947010c660b497907be05be58673bc1a423f --- /dev/null +++ b/tests/wan/test_wan_teacher_wrapper_many_step_sampling.py @@ -0,0 +1,90 @@ +from causvid.models.wan.wan_wrapper import WanDiffusionWrapper, WanTextEncoder, WanVAEWrapper +from causvid.models.wan.flow_match import FlowMatchScheduler +from diffusers.utils import export_to_video +from causvid.data import TextDataset +from tqdm import tqdm +import torch +import os + +torch.set_grad_enabled(False) +torch.backends.cuda.matmul.allow_tf32 = True +torch.backends.cudnn.allow_tf32 = True + +model = WanDiffusionWrapper().to("cuda").to(torch.float32) +encoder = WanTextEncoder().to("cuda").to(torch.float32) +vae = WanVAEWrapper().to("cuda").to(torch.float32) + +model.set_module_grad( + { + "model": False + } +) + +dataset = TextDataset('sample_dataset/MovieGenVideoBench.txt') + +os.makedirs('wan_manystep_sampling', exist_ok=True) + +device = "cuda" +num_train_timesteps = 1000 +sampling_steps = 50 +shift = 8 + +sample_neg_prompt = '色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走' + +scheduler = FlowMatchScheduler(shift=8.0, sigma_min=0.0, extra_one_step=True) + +scheduler.set_timesteps(num_inference_steps=50, denoising_strength=1.0) + +scheduler.sigmas = scheduler.sigmas.to(device) + +unconditional_dict = encoder( + text_prompts=[sample_neg_prompt] +) + +for index in tqdm(range(len(dataset))): + prompt = dataset[index] + + conditional_dict = encoder( + text_prompts=prompt + ) + + latents = torch.randn( + 1, 16, 21, 60, 104, generator=torch.Generator().manual_seed(42), dtype=torch.float32 + ).to("cuda").permute(0, 2, 1, 3, 4) + + with torch.amp.autocast(dtype=torch.float32, device_type=torch.device("cuda:0").type): + + for progress_id, t in enumerate(tqdm(scheduler.timesteps)): + timestep = t * \ + torch.ones([1, 21], device=device, dtype=torch.float32) + + x0_pred_cond = model( + latents, conditional_dict, timestep + ) + + x0_pred_uncond = model( + latents, unconditional_dict, timestep + ) + + x0_pred = x0_pred_uncond + 6 * ( + x0_pred_cond - x0_pred_uncond + ) + + flow_pred = model._convert_x0_to_flow_pred( + x0_pred=x0_pred.flatten(0, 1), + xt=latents.flatten(0, 1), + timestep=timestep.flatten(0, 1), + scheduler=scheduler + ).unflatten(0, x0_pred.shape[:2]) + + latents = scheduler.step( + flow_pred.flatten(0, 1), + scheduler.timesteps[progress_id] * torch.ones( + [1, 21], device=device, dtype=torch.long).flatten(0, 1), + latents.flatten(0, 1) + ).unflatten(dim=0, sizes=flow_pred.shape[:2]) + + decoded_video = vae.decode_to_pixel(latents)[0].permute(0, 2, 3, 1).cpu().numpy() * 0.5 + 0.5 + + export_to_video( + decoded_video, f"test_wanx_wrapper_{index:04d}.mp4", fps=16) diff --git a/tmp/video_info_rank-7.txt b/tmp/video_info_rank-7.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f3673c74f5f109de782dc19d3cad557642f3d7e --- /dev/null +++ b/tmp/video_info_rank-7.txt @@ -0,0 +1 @@ +rank_7,tmp/teacher_000001_rank_7.mp4 diff --git a/wan_models/Wan2.1-T2V-1.3B/.gitattributes b/wan_models/Wan2.1-T2V-1.3B/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..0a1f66aea84e17cbf6a60c51431723062f87df8a --- /dev/null +++ b/wan_models/Wan2.1-T2V-1.3B/.gitattributes @@ -0,0 +1,47 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +google/umt5-xxl/tokenizer.json filter=lfs diff=lfs merge=lfs -text +assets/comp_effic.png filter=lfs diff=lfs merge=lfs -text +assets/data_for_diff_stage.jpg filter=lfs diff=lfs merge=lfs -text +assets/i2v_res.png filter=lfs diff=lfs merge=lfs -text +assets/logo.png filter=lfs diff=lfs merge=lfs -text +assets/t2v_res.jpg filter=lfs diff=lfs merge=lfs -text +assets/vben_vs_sota.png filter=lfs diff=lfs merge=lfs -text +assets/vben_vs_sota_t2i.jpg filter=lfs diff=lfs merge=lfs -text +assets/video_dit_arch.jpg filter=lfs diff=lfs merge=lfs -text +assets/video_vae_res.jpg filter=lfs diff=lfs merge=lfs -text +examples/i2v_input.JPG filter=lfs diff=lfs merge=lfs -text +assets/.DS_Store filter=lfs diff=lfs merge=lfs -text diff --git a/wan_models/Wan2.1-T2V-1.3B/README.md b/wan_models/Wan2.1-T2V-1.3B/README.md new file mode 100644 index 0000000000000000000000000000000000000000..fbbf7c13900d37f3179c546d09372aeb52e0fae1 --- /dev/null +++ b/wan_models/Wan2.1-T2V-1.3B/README.md @@ -0,0 +1,298 @@ +--- +license: apache-2.0 +language: +- en +- zh +pipeline_tag: text-to-video +library_name: diffusers +tags: +- video +- video-generation +--- +# Wan2.1 + +

+ +

+ +

+ 💜 Wan    |    🖥️ GitHub    |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 Paper (Coming soon)    |    📑 Blog    |   💬 WeChat Group   |    📖 Discord   +
+ +----- + +[**Wan: Open and Advanced Large-Scale Video Generative Models**]("#") + +In this repository, we present **Wan2.1**, a comprehensive and open suite of video foundation models that pushes the boundaries of video generation. **Wan2.1** offers these key features: +- 👍 **SOTA Performance**: **Wan2.1** consistently outperforms existing open-source models and state-of-the-art commercial solutions across multiple benchmarks. +- 👍 **Supports Consumer-grade GPUs**: The T2V-1.3B model requires only 8.19 GB VRAM, making it compatible with almost all consumer-grade GPUs. It can generate a 5-second 480P video on an RTX 4090 in about 4 minutes (without optimization techniques like quantization). Its performance is even comparable to some closed-source models. +- 👍 **Multiple Tasks**: **Wan2.1** excels in Text-to-Video, Image-to-Video, Video Editing, Text-to-Image, and Video-to-Audio, advancing the field of video generation. +- 👍 **Visual Text Generation**: **Wan2.1** is the first video model capable of generating both Chinese and English text, featuring robust text generation that enhances its practical applications. +- 👍 **Powerful Video VAE**: **Wan-VAE** delivers exceptional efficiency and performance, encoding and decoding 1080P videos of any length while preserving temporal information, making it an ideal foundation for video and image generation. + + +This repository hosts our T2V-1.3B model, a versatile solution for video generation that is compatible with nearly all consumer-grade GPUs. In this way, we hope that **Wan2.1** can serve as an easy-to-use tool for more creative teams in video creation, providing a high-quality foundational model for academic teams with limited computing resources. This will facilitate both the rapid development of the video creation community and the swift advancement of video technology. + + +## Video Demos + +

+ +
+ + +## 🔥 Latest News!! + +* Feb 25, 2025: 👋 We've released the inference code and weights of Wan2.1. + + +## 📑 Todo List +- Wan2.1 Text-to-Video + - [x] Multi-GPU Inference code of the 14B and 1.3B models + - [x] Checkpoints of the 14B and 1.3B models + - [x] Gradio demo + - [ ] Diffusers integration + - [ ] ComfyUI integration +- Wan2.1 Image-to-Video + - [x] Multi-GPU Inference code of the 14B model + - [x] Checkpoints of the 14B model + - [x] Gradio demo + - [ ] Diffusers integration + - [ ] ComfyUI integration + + +## Quickstart + +#### Installation +Clone the repo: +``` +git clone https://github.com/Wan-Video/Wan2.1.git +cd Wan2.1 +``` + +Install dependencies: +``` +# Ensure torch >= 2.4.0 +pip install -r requirements.txt +``` + + +#### Model Download + +| Models | Download Link | Notes | +| --------------|-------------------------------------------------------------------------------|-------------------------------| +| T2V-14B | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B) 🤖 [ModelScope](https://www.modelscope.cn/models/Wan-AI/Wan2.1-T2V-14B) | Supports both 480P and 720P +| I2V-14B-720P | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P) 🤖 [ModelScope](https://www.modelscope.cn/models/Wan-AI/Wan2.1-I2V-14B-720P) | Supports 720P +| I2V-14B-480P | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P) 🤖 [ModelScope](https://www.modelscope.cn/models/Wan-AI/Wan2.1-I2V-14B-480P) | Supports 480P +| T2V-1.3B | 🤗 [Huggingface](https://huggingface.co/Wan-AI/Wan2.1-T2V-1.3B) 🤖 [ModelScope](https://www.modelscope.cn/models/Wan-AI/Wan2.1-T2V-1.3B) | Supports 480P + + +> 💡Note: The 1.3B model is capable of generating videos at 720P resolution. However, due to limited training at this resolution, the results are generally less stable compared to 480P. For optimal performance, we recommend using 480P resolution. + + +Download models using 🤗 huggingface-cli: +``` +pip install "huggingface_hub[cli]" +huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B --local-dir ./Wan2.1-T2V-1.3B +``` + +Download models using 🤖 modelscope-cli: +``` +pip install modelscope +modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir ./Wan2.1-T2V-1.3B +``` + +#### Run Text-to-Video Generation + +This repository supports two Text-to-Video models (1.3B and 14B) and two resolutions (480P and 720P). The parameters and configurations for these models are as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TaskResolutionModel
480P720P
t2v-14B✔️✔️Wan2.1-T2V-14B
t2v-1.3B✔️Wan2.1-T2V-1.3B
+ + +##### (1) Without Prompt Extention + +To facilitate implementation, we will start with a basic version of the inference process that skips the [prompt extension](#2-using-prompt-extention) step. + +- Single-GPU inference + +``` +python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage." +``` + +If you encounter OOM (Out-of-Memory) issues, you can use the `--offload_model True` and `--t5_cpu` options to reduce GPU memory usage. For example, on an RTX 4090 GPU: + +``` +python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage." +``` + +> 💡Note: If you are using the `T2V-1.3B` model, we recommend setting the parameter `--sample_guide_scale 6`. The `--sample_shift parameter` can be adjusted within the range of 8 to 12 based on the performance. + +- Multi-GPU inference using FSDP + xDiT USP + +``` +pip install "xfuser>=0.4.1" +torchrun --nproc_per_node=8 generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --dit_fsdp --t5_fsdp --ulysses_size 8 --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage." +``` + + +##### (2) Using Prompt Extention + +Extending the prompts can effectively enrich the details in the generated videos, further enhancing the video quality. Therefore, we recommend enabling prompt extension. We provide the following two methods for prompt extension: + +- Use the Dashscope API for extension. + - Apply for a `dashscope.api_key` in advance ([EN](https://www.alibabacloud.com/help/en/model-studio/getting-started/first-api-call-to-qwen) | [CN](https://help.aliyun.com/zh/model-studio/getting-started/first-api-call-to-qwen)). + - Configure the environment variable `DASH_API_KEY` to specify the Dashscope API key. For users of Alibaba Cloud's international site, you also need to set the environment variable `DASH_API_URL` to 'https://dashscope-intl.aliyuncs.com/api/v1'. For more detailed instructions, please refer to the [dashscope document](https://www.alibabacloud.com/help/en/model-studio/developer-reference/use-qwen-by-calling-api?spm=a2c63.p38356.0.i1). + - Use the `qwen-plus` model for text-to-video tasks and `qwen-vl-max` for image-to-video tasks. + - You can modify the model used for extension with the parameter `--prompt_extend_model`. For example: +``` +DASH_API_KEY=your_key python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'ch' +``` + +- Using a local model for extension. + + - By default, the Qwen model on HuggingFace is used for this extension. Users can choose based on the available GPU memory size. + - For text-to-video tasks, you can use models like `Qwen/Qwen2.5-14B-Instruct`, `Qwen/Qwen2.5-7B-Instruct` and `Qwen/Qwen2.5-3B-Instruct` + - For image-to-video tasks, you can use models like `Qwen/Qwen2.5-VL-7B-Instruct` and `Qwen/Qwen2.5-VL-3B-Instruct`. + - Larger models generally provide better extension results but require more GPU memory. + - You can modify the model used for extension with the parameter `--prompt_extend_model` , allowing you to specify either a local model path or a Hugging Face model. For example: + +``` +python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_target_lang 'ch' +``` + +##### (3) Runing local gradio + +``` +cd gradio +# if one uses dashscope’s API for prompt extension +DASH_API_KEY=your_key python t2v_1.3B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-1.3B + +# if one uses a local model for prompt extension +python t2v_1.3B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-1.3B +``` + + + +## Evaluation + +We employ our **Wan-Bench** framework to evaluate the performance of the T2V-1.3B model, with the results displayed in the table below. The results indicate that our smaller 1.3B model surpasses the overall metrics of larger open-source models, demonstrating the effectiveness of **WanX2.1**'s architecture and the data construction pipeline. + +
+ +
+ + + +## Computational Efficiency on Different GPUs + +We test the computational efficiency of different **Wan2.1** models on different GPUs in the following table. The results are presented in the format: **Total time (s) / peak GPU memory (GB)**. + + +
+ +
+ +> The parameter settings for the tests presented in this table are as follows: +> (1) For the 1.3B model on 8 GPUs, set `--ring_size 8` and `--ulysses_size 1`; +> (2) For the 14B model on 1 GPU, use `--offload_model True`; +> (3) For the 1.3B model on a single 4090 GPU, set `--offload_model True --t5_cpu`; +> (4) For all testings, no prompt extension was applied, meaning `--use_prompt_extend` was not enabled. + +------- + +## Introduction of Wan2.1 + +**Wan2.1** is designed on the mainstream diffusion transformer paradigm, achieving significant advancements in generative capabilities through a series of innovations. These include our novel spatio-temporal variational autoencoder (VAE), scalable training strategies, large-scale data construction, and automated evaluation metrics. Collectively, these contributions enhance the model’s performance and versatility. + + +##### (1) 3D Variational Autoencoders +We propose a novel 3D causal VAE architecture, termed **Wan-VAE** specifically designed for video generation. By combining multiple strategies, we improve spatio-temporal compression, reduce memory usage, and ensure temporal causality. **Wan-VAE** demonstrates significant advantages in performance efficiency compared to other open-source VAEs. Furthermore, our **Wan-VAE** can encode and decode unlimited-length 1080P videos without losing historical temporal information, making it particularly well-suited for video generation tasks. + + +
+ +
+ + +##### (2) Video Diffusion DiT + +**Wan2.1** is designed using the Flow Matching framework within the paradigm of mainstream Diffusion Transformers. Our model's architecture uses the T5 Encoder to encode multilingual text input, with cross-attention in each transformer block embedding the text into the model structure. Additionally, we employ an MLP with a Linear layer and a SiLU layer to process the input time embeddings and predict six modulation parameters individually. This MLP is shared across all transformer blocks, with each block learning a distinct set of biases. Our experimental findings reveal a significant performance improvement with this approach at the same parameter scale. + +
+ +
+ + +| Model | Dimension | Input Dimension | Output Dimension | Feedforward Dimension | Frequency Dimension | Number of Heads | Number of Layers | +|--------|-----------|-----------------|------------------|-----------------------|---------------------|-----------------|------------------| +| 1.3B | 1536 | 16 | 16 | 8960 | 256 | 12 | 30 | +| 14B | 5120 | 16 | 16 | 13824 | 256 | 40 | 40 | + + + +##### Data + +We curated and deduplicated a candidate dataset comprising a vast amount of image and video data. During the data curation process, we designed a four-step data cleaning process, focusing on fundamental dimensions, visual quality and motion quality. Through the robust data processing pipeline, we can easily obtain high-quality, diverse, and large-scale training sets of images and videos. + +![figure1](assets/data_for_diff_stage.jpg "figure1") + + +##### Comparisons to SOTA +We compared **Wan2.1** with leading open-source and closed-source models to evaluate the performace. Using our carefully designed set of 1,035 internal prompts, we tested across 14 major dimensions and 26 sub-dimensions. Then we calculated the total score through a weighted average based on the importance of each dimension. The detailed results are shown in the table below. These results demonstrate our model's superior performance compared to both open-source and closed-source models. + +![figure1](assets/vben_vs_sota.png "figure1") + + +## Citation +If you find our work helpful, please cite us. + +``` +@article{wan2.1, + title = {Wan: Open and Advanced Large-Scale Video Generative Models}, + author = {Wan Team}, + journal = {}, + year = {2025} +} +``` + +## License Agreement +The models in this repository are licensed under the Apache 2.0 License. We claim no rights over the your generate contents, granting you the freedom to use them while ensuring that your usage complies with the provisions of this license. You are fully accountable for your use of the models, which must not involve sharing any content that violates applicable laws, causes harm to individuals or groups, disseminates personal information intended for harm, spreads misinformation, or targets vulnerable populations. For a complete list of restrictions and details regarding your rights, please refer to the full text of the [license](LICENSE.txt). + + +## Acknowledgements + +We would like to thank the contributors to the [SD3](https://huggingface.co/stabilityai/stable-diffusion-3-medium), [Qwen](https://huggingface.co/Qwen), [umt5-xxl](https://huggingface.co/google/umt5-xxl), [diffusers](https://github.com/huggingface/diffusers) and [HuggingFace](https://huggingface.co) repositories, for their open research. + + + +## Contact Us +If you would like to leave a message to our research or product teams, feel free to join our [Discord](https://discord.gg/p5XbdQV7) or [WeChat groups](https://gw.alicdn.com/imgextra/i2/O1CN01tqjWFi1ByuyehkTSB_!!6000000000015-0-tps-611-1279.jpg)! \ No newline at end of file diff --git a/wan_models/Wan2.1-T2V-1.3B/config.json b/wan_models/Wan2.1-T2V-1.3B/config.json new file mode 100644 index 0000000000000000000000000000000000000000..d203bef600b2f3c64fe1f5f53d70a2087f4ccd2f --- /dev/null +++ b/wan_models/Wan2.1-T2V-1.3B/config.json @@ -0,0 +1,14 @@ +{ + "_class_name": "WanModel", + "_diffusers_version": "0.30.0", + "dim": 1536, + "eps": 1e-06, + "ffn_dim": 8960, + "freq_dim": 256, + "in_dim": 16, + "model_type": "t2v", + "num_heads": 12, + "num_layers": 30, + "out_dim": 16, + "text_len": 512 +} diff --git a/wan_models/Wan2.1-T2V-1.3B/google/umt5-xxl/tokenizer_config.json b/wan_models/Wan2.1-T2V-1.3B/google/umt5-xxl/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..4e1cc1cd85599ce0b47fd0a746af188fe4043ff2 --- /dev/null +++ b/wan_models/Wan2.1-T2V-1.3B/google/umt5-xxl/tokenizer_config.json @@ -0,0 +1,2748 @@ +{ + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "3": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256000": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256001": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256002": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256003": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256004": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256005": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256006": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256007": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256008": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256009": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256010": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256011": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256012": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256013": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256014": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256015": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256016": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256017": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256018": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256019": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256020": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256021": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256022": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256023": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256024": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256025": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256026": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256027": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256028": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256029": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256030": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256031": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256032": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256033": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256034": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256035": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256036": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256037": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256038": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256039": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256040": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256041": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256042": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256043": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256044": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256045": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256046": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256047": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256048": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256049": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256050": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256051": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256052": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256053": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256054": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256055": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256056": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256057": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256058": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256059": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256060": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256061": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256062": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256063": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256064": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256065": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256066": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256067": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256068": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256069": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256070": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256071": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256072": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256073": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256074": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256075": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256076": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256077": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256078": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256079": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256080": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256081": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256082": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256083": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256084": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256085": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256086": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256087": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256088": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256089": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256090": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256091": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256092": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256093": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256094": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256095": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256096": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256097": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256098": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256099": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256100": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256101": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256102": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256103": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256104": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256105": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256106": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256107": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256108": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256109": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256110": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256111": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256112": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256113": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256114": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256115": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256116": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256117": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256118": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256119": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256120": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256121": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256122": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256123": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256124": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256125": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256126": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256127": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256128": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256129": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256130": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256131": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256132": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256133": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256134": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256135": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256136": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256137": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256138": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256139": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256140": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256141": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256142": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256143": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256144": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256145": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256146": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256147": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256148": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256149": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256150": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256151": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256152": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256153": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256154": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256155": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256156": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256157": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256158": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256159": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256160": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256161": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256162": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256163": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256164": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256165": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256166": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256167": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256168": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256169": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256170": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256171": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256172": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256173": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256174": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256175": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256176": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256177": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256178": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256179": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256180": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256181": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256182": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256183": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256184": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256185": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256186": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256187": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256188": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256189": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256190": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256191": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256192": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256193": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256194": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256195": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256196": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256197": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256198": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256199": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256200": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256201": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256202": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256203": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256204": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256205": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256206": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256207": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256208": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256209": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256210": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256211": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256212": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256213": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256214": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256215": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256216": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256217": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256218": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256219": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256220": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256221": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256222": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256223": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256224": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256225": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256226": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256227": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256228": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256229": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256230": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256231": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256232": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256233": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256234": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256235": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256236": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256237": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256238": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256239": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256240": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256241": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256242": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256243": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256244": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256245": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256246": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256247": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256248": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256249": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256250": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256251": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256252": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256253": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256254": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256255": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256256": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256257": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256258": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256259": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256260": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256261": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256262": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256263": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256264": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256265": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256266": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256267": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256268": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256269": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256270": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256271": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256272": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256273": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256274": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256275": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256276": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256277": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256278": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256279": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256280": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256281": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256282": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256283": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256284": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256285": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256286": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256287": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256288": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256289": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256290": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256291": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256292": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256293": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256294": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256295": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256296": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256297": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256298": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "256299": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "additional_special_tokens": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "bos_token": "", + "clean_up_tokenization_spaces": true, + "eos_token": "", + "extra_ids": 300, + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "sp_model_kwargs": {}, + "spaces_between_special_tokens": false, + "tokenizer_class": "T5Tokenizer", + "unk_token": "" +}