diff --git a/nodes_sampler.py b/nodes_sampler.py index a53023c..6bf72b8 100644 --- a/nodes_sampler.py +++ b/nodes_sampler.py @@ -2256,7 +2256,11 @@ class WanVideoSampler: timesteps = [torch.tensor([t], device=device) for t in timesteps] timesteps = [timestep_transform(t, shift=shift, num_timesteps=1000) for t in timesteps] else: - sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) + if isinstance(scheduler, dict): + sample_scheduler = copy.deepcopy(scheduler["sample_scheduler"]) + timesteps = scheduler["timesteps"] + else: + sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) timesteps = [torch.tensor([float(t)], device=device) for t in timesteps] + [torch.tensor([0.], device=device)] # sample videos @@ -2567,7 +2571,11 @@ class WanVideoSampler: if s2v_pose is not None: s2v_pose_slice = pose_cond_list[r].to(device) - sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) + if isinstance(scheduler, dict): + sample_scheduler = copy.deepcopy(scheduler["sample_scheduler"]) + timesteps = scheduler["timesteps"] + else: + sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) latent = noise.to(device) for i, t in enumerate(tqdm(timesteps, desc=f"Sampling audio indices {left_idx}-{right_idx}", position=0)): @@ -2784,7 +2792,11 @@ class WanVideoSampler: thresholds = thresholds.reshape(-1, 1, 1, 1, 1).to(device) masks = (1-noise_mask.repeat(len(timesteps), 1, 1, 1, 1).to(device)) > thresholds - sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) + if isinstance(scheduler, dict): + sample_scheduler = copy.deepcopy(scheduler["sample_scheduler"]) + timesteps = scheduler["timesteps"] + else: + sample_scheduler, timesteps,_,_ = get_scheduler(scheduler, total_steps, start_step, end_step, shift, device, transformer.dim, flowedit_args, denoise_strength, sigmas=sigmas) # sample videos latent = noise