(
dit: FluxDiT,
controlnet: FluxMultiControlNetManager = None,
step1x_connector: Qwen2Connector = None,
hidden_states=None,
timestep=None,
prompt_emb=None,
pooled_prompt_emb=None,
guidance=None,
text_ids=None,
image_ids=None,
controlnet_frames=None,
tiled=False,
tile_size=128,
tile_stride=64,
entity_prompt_emb=None,
entity_masks=None,
ipadapter_kwargs_list={},
id_emb=None,
infinityou_guidance=None,
flex_condition=None,
flex_uncondition=None,
flex_control_stop_timestep=None,
step1x_llm_embedding=None,
step1x_mask=None,
step1x_reference_latents=None,
tea_cache: TeaCache = None,
**kwargs
)
| 653 | |
| 654 | |
| 655 | def lets_dance_flux( |
| 656 | dit: FluxDiT, |
| 657 | controlnet: FluxMultiControlNetManager = None, |
| 658 | step1x_connector: Qwen2Connector = None, |
| 659 | hidden_states=None, |
| 660 | timestep=None, |
| 661 | prompt_emb=None, |
| 662 | pooled_prompt_emb=None, |
| 663 | guidance=None, |
| 664 | text_ids=None, |
| 665 | image_ids=None, |
| 666 | controlnet_frames=None, |
| 667 | tiled=False, |
| 668 | tile_size=128, |
| 669 | tile_stride=64, |
| 670 | entity_prompt_emb=None, |
| 671 | entity_masks=None, |
| 672 | ipadapter_kwargs_list={}, |
| 673 | id_emb=None, |
| 674 | infinityou_guidance=None, |
| 675 | flex_condition=None, |
| 676 | flex_uncondition=None, |
| 677 | flex_control_stop_timestep=None, |
| 678 | step1x_llm_embedding=None, |
| 679 | step1x_mask=None, |
| 680 | step1x_reference_latents=None, |
| 681 | tea_cache: TeaCache = None, |
| 682 | **kwargs |
| 683 | ): |
| 684 | if tiled: |
| 685 | def flux_forward_fn(hl, hr, wl, wr): |
| 686 | tiled_controlnet_frames = [f[:, :, hl: hr, wl: wr] for f in controlnet_frames] if controlnet_frames is not None else None |
| 687 | return lets_dance_flux( |
| 688 | dit=dit, |
| 689 | controlnet=controlnet, |
| 690 | hidden_states=hidden_states[:, :, hl: hr, wl: wr], |
| 691 | timestep=timestep, |
| 692 | prompt_emb=prompt_emb, |
| 693 | pooled_prompt_emb=pooled_prompt_emb, |
| 694 | guidance=guidance, |
| 695 | text_ids=text_ids, |
| 696 | image_ids=None, |
| 697 | controlnet_frames=tiled_controlnet_frames, |
| 698 | tiled=False, |
| 699 | **kwargs |
| 700 | ) |
| 701 | return FastTileWorker().tiled_forward( |
| 702 | flux_forward_fn, |
| 703 | hidden_states, |
| 704 | tile_size=tile_size, |
| 705 | tile_stride=tile_stride, |
| 706 | tile_device=hidden_states.device, |
| 707 | tile_dtype=hidden_states.dtype |
| 708 | ) |
| 709 | |
| 710 | |
| 711 | # ControlNet |
| 712 | if controlnet is not None and controlnet_frames is not None: |
no test coverage detected