diffsynth-engine 0.2.8__tar.gz → 0.2.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/PKG-INFO +1 -1
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_vae.py +27 -9
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/wan_video.py +17 -2
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/parallel.py +38 -55
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/PKG-INFO +1 -1
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/.gitignore +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/.pre-commit-config.yaml +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/LICENSE +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/MANIFEST.in +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/README.md +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/assets/dingtalk.png +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/assets/showcase.jpeg +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/base_scheduler.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_beta.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_ddim.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/flow_match/recifited_flow.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/beta.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/ddim.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/exponential.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/karras.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/linear.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/sgm_uniform.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/flow_match/flow_match_euler.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/brownian_tree.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/ddpm.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/deis.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m_sde.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_3m_sde.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/epsilon.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler_ancestral.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/components/vae.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/flux/flux_dit.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/flux/flux_text_encoder.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/flux/flux_vae.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd/sd_text_encoder.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd/sd_unet.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd3/sd3_dit.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd3/sd3_text_encoder.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sdxl/sdxl_text_encoder.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sdxl/sdxl_unet.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/1.3b-t2v.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/14b-flf2v.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/14b-i2v.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/14b-t2v.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/merges.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/special_tokens_map.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/tokenizer_config.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/vocab.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/spiece.model +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/merges.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/special_tokens_map.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/tokenizer_config.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/vocab.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/merges.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/vocab.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/special_tokens_map.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/spiece.model +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer_config.json +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/kernels/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/base.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/attention.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/lora.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/relative_position_emb.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/timestep.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/transformer_helper.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/unet_helper.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_controlnet.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_dit.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_ipadapter.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_redux.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_text_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_vae.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd/sd_text_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd/sd_unet.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd/sd_vae.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd3/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd3/sd3_dit.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd3/sd3_text_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd3/sd3_vae.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sdxl/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sdxl/sdxl_text_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sdxl/sdxl_unet.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sdxl/sdxl_vae.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/clip.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/siglip.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/t5.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/utils.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/vae/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/vae/vae.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_dit.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_image_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_text_encoder.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/base.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/flux_image.py +2 -2
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/sd_image.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/pipelines/sdxl_image.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/processor/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/processor/canny_processor.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/processor/depth_processor.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tokenizers/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tokenizers/base.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tokenizers/clip.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tokenizers/t5.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tokenizers/wan.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_inpainting_tool.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_outpainting_tool.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_reference_tool.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_replace_tool.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/__init__.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/constants.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/download.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/env.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/flag.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/fp8_linear.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/gguf.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/image.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/loader.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/lock.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/logging.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/offload.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/onnx.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/platform.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/prompt.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/utils/video.py +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/SOURCES.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/dependency_links.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/requires.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/top_level.txt +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/docs/tutorial.md +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/docs/tutorial_zh.md +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/pyproject.toml +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/setup.cfg +0 -0
- {diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/setup.py +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import torch
|
|
2
2
|
import torch.nn as nn
|
|
3
3
|
import torch.nn.functional as F
|
|
4
|
+
import torch.distributed as dist
|
|
4
5
|
from einops import rearrange, repeat
|
|
5
6
|
from tqdm import tqdm
|
|
6
7
|
|
|
@@ -514,7 +515,7 @@ class WanVideoVAEStateDictConverter(StateDictConverter):
|
|
|
514
515
|
class WanVideoVAE(PreTrainedModel):
|
|
515
516
|
converter = WanVideoVAEStateDictConverter()
|
|
516
517
|
|
|
517
|
-
def __init__(self, z_dim=16, device: str = "cuda:0", dtype: torch.dtype = torch.float32):
|
|
518
|
+
def __init__(self, z_dim=16, parallelism: int = 1, device: str = "cuda:0", dtype: torch.dtype = torch.float32):
|
|
518
519
|
super().__init__()
|
|
519
520
|
|
|
520
521
|
mean = [
|
|
@@ -560,11 +561,12 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
560
561
|
# init model
|
|
561
562
|
self.model = VideoVAE(z_dim=z_dim).eval().requires_grad_(False)
|
|
562
563
|
self.upsampling_factor = 8
|
|
564
|
+
self.parallelism = parallelism
|
|
563
565
|
|
|
564
566
|
@classmethod
|
|
565
|
-
def from_state_dict(cls, state_dict, device="cuda:0", dtype=torch.float32) -> "WanVideoVAE":
|
|
567
|
+
def from_state_dict(cls, state_dict, parallelism=1, device="cuda:0", dtype=torch.float32) -> "WanVideoVAE":
|
|
566
568
|
with no_init_weights():
|
|
567
|
-
model = torch.nn.utils.skip_init(cls, device=device, dtype=dtype)
|
|
569
|
+
model = torch.nn.utils.skip_init(cls, parallelism=parallelism, device=device, dtype=dtype)
|
|
568
570
|
model.load_state_dict(state_dict, assign=True)
|
|
569
571
|
model.to(device=device, dtype=dtype, non_blocking=True)
|
|
570
572
|
return model
|
|
@@ -605,7 +607,7 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
605
607
|
h_, w_ = h + size_h, w + size_w
|
|
606
608
|
tasks.append((h, h_, w, w_))
|
|
607
609
|
|
|
608
|
-
data_device = "cpu"
|
|
610
|
+
data_device = device if self.parallelism > 1 else "cpu"
|
|
609
611
|
computation_device = device
|
|
610
612
|
|
|
611
613
|
out_T = T * 4 - 3
|
|
@@ -620,7 +622,10 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
620
622
|
device=data_device,
|
|
621
623
|
)
|
|
622
624
|
|
|
623
|
-
|
|
625
|
+
hide_progress_bar = self.parallelism > 1 and dist.get_rank() != 0
|
|
626
|
+
for i, (h, h_, w, w_) in enumerate(tqdm(tasks, desc="VAE DECODING", disable=hide_progress_bar)):
|
|
627
|
+
if self.parallelism > 1 and (i % dist.get_world_size() != dist.get_rank()):
|
|
628
|
+
continue
|
|
624
629
|
hidden_states_batch = hidden_states[:, :, :, h:h_, w:w_].to(computation_device)
|
|
625
630
|
hidden_states_batch = self.model.decode(hidden_states_batch, self.scale).to(data_device)
|
|
626
631
|
|
|
@@ -649,8 +654,13 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
649
654
|
target_h : target_h + hidden_states_batch.shape[3],
|
|
650
655
|
target_w : target_w + hidden_states_batch.shape[4],
|
|
651
656
|
] += mask
|
|
652
|
-
if progress_callback is not None:
|
|
657
|
+
if progress_callback is not None and not hide_progress_bar:
|
|
653
658
|
progress_callback(i + 1, len(tasks), "VAE DECODING")
|
|
659
|
+
if progress_callback is not None and not hide_progress_bar:
|
|
660
|
+
progress_callback(len(tasks), len(tasks), "VAE DECODING")
|
|
661
|
+
if self.parallelism > 1:
|
|
662
|
+
dist.all_reduce(values)
|
|
663
|
+
dist.all_reduce(weight)
|
|
654
664
|
values = values / weight
|
|
655
665
|
values = values.float().clamp_(-1, 1)
|
|
656
666
|
return values
|
|
@@ -671,7 +681,7 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
671
681
|
h_, w_ = h + size_h, w + size_w
|
|
672
682
|
tasks.append((h, h_, w, w_))
|
|
673
683
|
|
|
674
|
-
data_device = "cpu"
|
|
684
|
+
data_device = device if self.parallelism > 1 else "cpu"
|
|
675
685
|
computation_device = device
|
|
676
686
|
|
|
677
687
|
out_T = (T + 3) // 4
|
|
@@ -686,7 +696,10 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
686
696
|
device=data_device,
|
|
687
697
|
)
|
|
688
698
|
|
|
689
|
-
|
|
699
|
+
hide_progress_bar = self.parallelism > 1 and dist.get_rank() != 0
|
|
700
|
+
for i, (h, h_, w, w_) in enumerate(tqdm(tasks, desc="VAE ENCODING", disable=hide_progress_bar)):
|
|
701
|
+
if self.parallelism > 1 and (i % dist.get_world_size() != dist.get_rank()):
|
|
702
|
+
continue
|
|
690
703
|
hidden_states_batch = video[:, :, :, h:h_, w:w_].to(computation_device)
|
|
691
704
|
hidden_states_batch = self.model.encode(hidden_states_batch, self.scale).to(data_device)
|
|
692
705
|
|
|
@@ -715,8 +728,13 @@ class WanVideoVAE(PreTrainedModel):
|
|
|
715
728
|
target_h : target_h + hidden_states_batch.shape[3],
|
|
716
729
|
target_w : target_w + hidden_states_batch.shape[4],
|
|
717
730
|
] += mask
|
|
718
|
-
if progress_callback is not None:
|
|
731
|
+
if progress_callback is not None and not hide_progress_bar:
|
|
719
732
|
progress_callback(i + 1, len(tasks), "VAE ENCODING")
|
|
733
|
+
if progress_callback is not None and not hide_progress_bar:
|
|
734
|
+
progress_callback(len(tasks), len(tasks), "VAE ENCODING")
|
|
735
|
+
if self.parallelism > 1:
|
|
736
|
+
dist.all_reduce(values)
|
|
737
|
+
dist.all_reduce(weight)
|
|
720
738
|
values = values / weight
|
|
721
739
|
values = values.float()
|
|
722
740
|
return values
|
|
@@ -442,8 +442,6 @@ class WanVideoPipeline(BasePipeline):
|
|
|
442
442
|
tokenizer = WanT5Tokenizer(WAN_TOKENIZER_CONF_PATH, seq_len=512, clean="whitespace")
|
|
443
443
|
text_encoder = WanTextEncoder.from_state_dict(t5_state_dict, device=init_device, dtype=model_config.t5_dtype)
|
|
444
444
|
|
|
445
|
-
vae = WanVideoVAE.from_state_dict(vae_state_dict, device=init_device, dtype=model_config.vae_dtype)
|
|
446
|
-
|
|
447
445
|
image_encoder = None
|
|
448
446
|
if model_config.image_encoder_path is not None:
|
|
449
447
|
logger.info(f"loading state dict from {model_config.image_encoder_path} ...")
|
|
@@ -480,6 +478,20 @@ class WanVideoPipeline(BasePipeline):
|
|
|
480
478
|
tp_degree = parallel_config["tp_degree"]
|
|
481
479
|
use_fsdp = parallel_config["use_fsdp"]
|
|
482
480
|
batch_cfg = True if use_cfg_parallel else batch_cfg
|
|
481
|
+
|
|
482
|
+
vae = WanVideoVAE.from_state_dict(
|
|
483
|
+
vae_state_dict, parallelism=parallelism, device="cpu", dtype=model_config.vae_dtype
|
|
484
|
+
)
|
|
485
|
+
vae = ParallelModel(
|
|
486
|
+
vae,
|
|
487
|
+
cfg_degree=1,
|
|
488
|
+
sp_ulysses_degree=parallelism, # not real sequence parallel
|
|
489
|
+
sp_ring_degree=1,
|
|
490
|
+
tp_degree=1,
|
|
491
|
+
master_port=29501,
|
|
492
|
+
device="cuda",
|
|
493
|
+
)
|
|
494
|
+
|
|
483
495
|
with LoRAContext():
|
|
484
496
|
dit = WanDiT.from_state_dict(
|
|
485
497
|
dit_state_dict,
|
|
@@ -499,6 +511,8 @@ class WanVideoPipeline(BasePipeline):
|
|
|
499
511
|
device="cuda",
|
|
500
512
|
)
|
|
501
513
|
else:
|
|
514
|
+
vae = WanVideoVAE.from_state_dict(vae_state_dict, device=init_device, dtype=model_config.vae_dtype)
|
|
515
|
+
|
|
502
516
|
with LoRAContext():
|
|
503
517
|
dit = WanDiT.from_state_dict(
|
|
504
518
|
dit_state_dict,
|
|
@@ -526,4 +540,5 @@ class WanVideoPipeline(BasePipeline):
|
|
|
526
540
|
return pipe
|
|
527
541
|
|
|
528
542
|
def __del__(self):
|
|
543
|
+
del self.vae
|
|
529
544
|
del self.dit
|
|
@@ -228,7 +228,6 @@ def parallelize_module(
|
|
|
228
228
|
|
|
229
229
|
NCCL_TIMEOUT_SEC = int(os.environ.get("NCCL_TIMEOUT_SEC", 600))
|
|
230
230
|
PARALLEL_FWD_TIMEOUT_SEC = int(os.environ.get("PARALLEL_FWD_TIMEOUT_SEC", 300))
|
|
231
|
-
PARALLEL_LORA_TIMEOUT_SEC = int(os.environ.get("PARALLEL_LORA_TIMEOUT_SEC ", 60))
|
|
232
231
|
|
|
233
232
|
|
|
234
233
|
def _worker_loop(
|
|
@@ -285,28 +284,26 @@ def _worker_loop(
|
|
|
285
284
|
|
|
286
285
|
while True:
|
|
287
286
|
if rank == 0:
|
|
288
|
-
|
|
289
|
-
data = [kwargs]
|
|
287
|
+
data = queue_in.get()
|
|
290
288
|
else:
|
|
291
|
-
data = [None]
|
|
289
|
+
data = [None, None, None]
|
|
292
290
|
dist.broadcast_object_list(data, src=0)
|
|
293
|
-
kwargs = clone(data
|
|
291
|
+
name, args, kwargs = clone(data)
|
|
294
292
|
del data
|
|
295
293
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
y = gathered
|
|
294
|
+
if not hasattr(module, name):
|
|
295
|
+
raise AttributeError(f'{module.__class__.__name__} has no attribute "{name}"')
|
|
296
|
+
if name != "load_loras":
|
|
297
|
+
args = split_and_get(to_device(args, device), get_cfg_world_size(), 0, get_cfg_rank())
|
|
298
|
+
kwargs = split_and_get(to_device(kwargs, device), get_cfg_world_size(), 0, get_cfg_rank())
|
|
299
|
+
with torch.no_grad():
|
|
300
|
+
y = getattr(module, name)(*args, **kwargs)
|
|
301
|
+
|
|
302
|
+
is_rank_zero_in_cfg_group = get_cfg_world_size() > 1 and get_sp_rank() == 0 and get_tp_rank() == 0
|
|
303
|
+
if y is not None and is_rank_zero_in_cfg_group:
|
|
304
|
+
gathered = torch.zeros((get_cfg_world_size(), *y.shape[1:]), dtype=y.dtype, device=y.device)
|
|
305
|
+
dist.all_gather_into_tensor(gathered, y, group=get_cfg_group())
|
|
306
|
+
y = gathered
|
|
310
307
|
|
|
311
308
|
if rank == 0:
|
|
312
309
|
queue_out.put(y)
|
|
@@ -359,42 +356,9 @@ class ParallelModel(nn.Module):
|
|
|
359
356
|
join=False,
|
|
360
357
|
)
|
|
361
358
|
|
|
362
|
-
def
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
"method": "load_loras",
|
|
366
|
-
"lora_args": lora_args,
|
|
367
|
-
"fused": fused,
|
|
368
|
-
}
|
|
369
|
-
)
|
|
370
|
-
try:
|
|
371
|
-
res = self.queue_out.get(timeout=PARALLEL_LORA_TIMEOUT_SEC)
|
|
372
|
-
if isinstance(res, Exception):
|
|
373
|
-
raise res
|
|
374
|
-
except Empty:
|
|
375
|
-
logger.error("ParallelModel load LoRA timeout")
|
|
376
|
-
raise RuntimeError("ParallelModel load LoRA timeout")
|
|
377
|
-
except Exception as e:
|
|
378
|
-
logger.error(f"ParallelModel load LoRA error: {e}")
|
|
379
|
-
raise RuntimeError(f"ParallelModel load LoRA error: {e}")
|
|
380
|
-
logger.info("ParallelModel load LoRA done")
|
|
381
|
-
|
|
382
|
-
def unload_loras(self):
|
|
383
|
-
self.queue_in.put({"method": "unload_loras"})
|
|
384
|
-
try:
|
|
385
|
-
res = self.queue_out.get(timeout=PARALLEL_LORA_TIMEOUT_SEC)
|
|
386
|
-
if isinstance(res, Exception):
|
|
387
|
-
raise res
|
|
388
|
-
except Empty:
|
|
389
|
-
logger.error("ParallelModel unload LoRA timeout")
|
|
390
|
-
raise RuntimeError("ParallelModel unload LoRA timeout")
|
|
391
|
-
except Exception as e:
|
|
392
|
-
logger.error(f"ParallelModel unload LoRA error: {e}")
|
|
393
|
-
raise RuntimeError(f"ParallelModel unload LoRA error: {e}")
|
|
394
|
-
logger.info("ParallelModel unload LoRA done")
|
|
395
|
-
|
|
396
|
-
def forward(self, **kwargs):
|
|
397
|
-
self.queue_in.put(kwargs)
|
|
359
|
+
def forward(self, *args, **kwargs):
|
|
360
|
+
data = ["forward", args, kwargs]
|
|
361
|
+
self.queue_in.put(data)
|
|
398
362
|
try:
|
|
399
363
|
res = self.queue_out.get(timeout=PARALLEL_FWD_TIMEOUT_SEC)
|
|
400
364
|
if isinstance(res, Exception):
|
|
@@ -407,6 +371,25 @@ class ParallelModel(nn.Module):
|
|
|
407
371
|
raise RuntimeError(f"ParallelModel forward error: {e}")
|
|
408
372
|
return res
|
|
409
373
|
|
|
374
|
+
def __getattr__(self, name):
|
|
375
|
+
def wrapped_func(*args, **kwargs):
|
|
376
|
+
data = [name, args, kwargs]
|
|
377
|
+
self.queue_in.put(data)
|
|
378
|
+
try:
|
|
379
|
+
res = self.queue_out.get(timeout=PARALLEL_FWD_TIMEOUT_SEC)
|
|
380
|
+
if isinstance(res, Exception):
|
|
381
|
+
raise res
|
|
382
|
+
except Empty:
|
|
383
|
+
logger.error(f"ParallelModel {name} timeout")
|
|
384
|
+
raise RuntimeError(f"ParallelModel {name} timeout")
|
|
385
|
+
except Exception as e:
|
|
386
|
+
logger.error(f"ParallelModel {name} error: {e}")
|
|
387
|
+
raise RuntimeError(f"ParallelModel {name} error: {e}")
|
|
388
|
+
logger.info(f"ParallelModel {name} done")
|
|
389
|
+
return res
|
|
390
|
+
|
|
391
|
+
return wrapped_func
|
|
392
|
+
|
|
410
393
|
def __del__(self):
|
|
411
394
|
# Send terminate signal to all workers
|
|
412
395
|
for p in self.ctx.processes:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/algorithm/sampler/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/components/vae.json
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/flux/flux_dit.json
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/flux/flux_vae.json
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd/sd_unet.json
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sd3/sd3_dit.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/sdxl/sdxl_unet.json
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/1.3b-t2v.json
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/14b-i2v.json
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/conf/models/wan/dit/14b-t2v.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/attention.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/basic/unet_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_controlnet.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_ipadapter.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_redux.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/flux/flux_text_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd/sd_text_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sd3/sd3_text_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/sdxl/sdxl_text_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/clip.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/siglip.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/text_encoder/t5.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_image_encoder.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/models/wan/wan_text_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -801,13 +801,13 @@ class FluxImagePipeline(BasePipeline):
|
|
|
801
801
|
controlnet_params: List[ControlNetParams] | ControlNetParams = [],
|
|
802
802
|
progress_callback: Optional[Callable] = None, # def progress_callback(current, total, status)
|
|
803
803
|
):
|
|
804
|
+
if not isinstance(controlnet_params, list):
|
|
805
|
+
controlnet_params = [controlnet_params]
|
|
804
806
|
if self.control_type != ControlType.normal:
|
|
805
807
|
assert controlnet_params and len(controlnet_params) == 1, "bfl_controlnet must have one controlnet"
|
|
806
808
|
|
|
807
809
|
if input_image is not None:
|
|
808
810
|
width, height = input_image.size
|
|
809
|
-
if not isinstance(controlnet_params, list):
|
|
810
|
-
controlnet_params = [controlnet_params]
|
|
811
811
|
self.validate_image_size(height, width, minimum=64, multiple_of=16)
|
|
812
812
|
|
|
813
813
|
noise = self.generate_noise((1, 16, height // 8, width // 8), seed=seed, device="cpu", dtype=self.dtype).to(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/processor/canny_processor.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/processor/depth_processor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_inpainting_tool.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_outpainting_tool.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_reference_tool.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine/tools/flux_replace_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.2.8 → diffsynth_engine-0.2.9}/diffsynth_engine.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|