Fastwan 14B and inp sampling param and optional image_path

This commit is contained in:
SolitaryThinker
2025-07-28 21:09:39 +00:00
parent f9ef86c649
commit 84f8e34efe
5 changed files with 32 additions and 10 deletions
+1
View File
@@ -26,6 +26,7 @@ PIPE_NAME_TO_CONFIG: dict[str, type[PipelineConfig]] = {
"Wan-AI/Wan2.1-I2V-14B-720P-Diffusers": WanI2V720PConfig,
"Wan-AI/Wan2.1-T2V-14B-Diffusers": WanT2V720PConfig,
"FastVideo/FastWan2.1-T2V-1.3B-Diffusers": FastWanT2V480PConfig,
"FastVideo/FastWan2.1-T2V-14B-480P-Diffusers": FastWanT2V480PConfig,
"FastVideo/stepvideo-t2v-diffusers": StepVideoT2VConfig,
"FastVideo/Wan2.1-VSA-T2V-14B-720P-Diffusers": WanT2V720PConfig,
# Add other specific weight variants
+5 -2
View File
@@ -10,7 +10,8 @@ from fastvideo.configs.sample.wan import (FastWanT2V480PConfig,
WanI2V_14B_480P_SamplingParam,
WanI2V_14B_720P_SamplingParam,
WanT2V_1_3B_SamplingParam,
WanT2V_14B_SamplingParam)
WanT2V_14B_SamplingParam,
Wan2_1_Fun_1_3B_InP_SamplingParam)
from fastvideo.logger import init_logger
from fastvideo.utils import (maybe_download_model_index,
verify_model_config_and_directory)
@@ -24,8 +25,10 @@ SAMPLING_PARAM_REGISTRY: dict[str, Any] = {
"Wan-AI/Wan2.1-T2V-14B-Diffusers": WanT2V_14B_SamplingParam,
"Wan-AI/Wan2.1-I2V-14B-480P-Diffusers": WanI2V_14B_480P_SamplingParam,
"Wan-AI/Wan2.1-I2V-14B-720P-Diffusers": WanI2V_14B_720P_SamplingParam,
"weizhou03/Wan2.1-Fun-1.3B-InP-Diffusers": Wan2_1_Fun_1_3B_InP_SamplingParam,
"FastVideo/stepvideo-t2v-diffusers": StepVideoT2VSamplingParam,
"FastVideo/FastWan2.1-T2V-1.3B-Diffusers": FastWanT2V480PConfig,
"FastVideo/FastWan2.1-T2V-1.3B-Diffusers": Wan2_1_Fun_1_3B_InP_SamplingParam,
"FastVideo/FastWan2.1-T2V-14B-480P-Diffusers": Wan2_1_Fun_1_3B_InP_SamplingParam,
# Add other specific weight variants
}
+15
View File
@@ -105,3 +105,18 @@ class FastWanT2V480PConfig(WanT2V_1_3B_SamplingParam):
height: int = 448
width: int = 832
fps: int = 16
# =============================================
# ============= Wan2.1 Fun Models =============
# =============================================
@dataclass
class Wan2_1_Fun_1_3B_InP_SamplingParam(SamplingParam):
"""Sampling parameters for Wan2.1 Fun 1.3B InP model."""
height: int = 480
width: int = 832
num_frames: int = 81
fps: int = 16
negative_prompt: str | None = "色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走"
guidance_scale: float = 6.0
num_inference_steps: int = 50
+5 -5
View File
@@ -48,14 +48,14 @@ class EncodingStage(PipelineStage):
Returns:
The batch with encoded outputs.
"""
if batch.pil_image is None:
return batch
self.vae = self.vae.to(get_local_torch_device())
assert batch.height is not None
assert batch.width is not None
latent_height = batch.height // self.vae.spatial_compression_ratio
latent_width = batch.width // self.vae.spatial_compression_ratio
assert batch.pil_image is not None
image = batch.pil_image
image = self.preprocess(
image,
@@ -194,6 +194,6 @@ class EncodingStage(PipelineStage):
fastvideo_args: FastVideoArgs) -> VerificationResult:
"""Verify encoding stage outputs."""
result = VerificationResult()
result.add_check("image_latent", batch.image_latent,
[V.is_tensor, V.with_dims(5)])
# result.add_check("image_latent", batch.image_latent,
# [V.is_tensor, V.with_dims(5)])
return result
+6 -3
View File
@@ -55,6 +55,9 @@ class ImageEncodingStage(PipelineStage):
Returns:
The batch with encoded prompt embeddings.
"""
if batch.pil_image is None:
return batch
self.image_encoder = self.image_encoder.to(get_local_torch_device())
image = batch.pil_image
@@ -76,7 +79,7 @@ class ImageEncodingStage(PipelineStage):
fastvideo_args: FastVideoArgs) -> VerificationResult:
"""Verify image encoding stage inputs."""
result = VerificationResult()
result.add_check("pil_image", batch.pil_image, V.not_none)
# result.add_check("pil_image", batch.pil_image, V.not_none)
result.add_check("image_embeds", batch.image_embeds, V.is_list)
return result
@@ -84,6 +87,6 @@ class ImageEncodingStage(PipelineStage):
fastvideo_args: FastVideoArgs) -> VerificationResult:
"""Verify image encoding stage outputs."""
result = VerificationResult()
result.add_check("image_embeds", batch.image_embeds,
V.list_of_tensors_dims(3))
# result.add_check("image_embeds", batch.image_embeds,
# V.list_of_tensors_dims(3))
return result