Skip to main content

Python module

max.pipelines.architectures.flux1_modulev3

FLUX.1 diffusion architecture for image generation.

Flux1TransformerModel​

class max.pipelines.architectures.flux1_modulev3.Flux1TransformerModel(config, encoding, devices, weights, *, cache_config=None)

source

Bases: ComponentModel

Parameters:

load_model()​

load_model()

source

Load and return a runtime model instance.

Return type:

None

model​

model: Callable[[...], Any]

source

FluxArchConfig​

class max.pipelines.architectures.flux1_modulev3.FluxArchConfig(*, max_seq_len=77, secondary_max_seq_len=512)

source

Bases: ArchConfig

Pipeline-level config for Flux1 (implements ArchConfig; no KV cache).

Parameters:

  • max_seq_len (int)
  • secondary_max_seq_len (int)

get_max_seq_len()​

get_max_seq_len()

source

Returns the maximum sequence length for the primary tokenizer.

Return type:

int

initialize()​

classmethod initialize(pipeline_config, model_config=None)

source

Initialize the config from a PipelineConfig.

Parameters:

  • pipeline_config (PipelineConfig) – The pipeline configuration.
  • model_config (MAXModelConfig | None) – The model configuration to read from. When None (the default), pipeline_config.model is used. Pass an explicit config (e.g. pipeline_config.draft_model) to initialize the arch config for a different model.

Return type:

Self

max_seq_len​

max_seq_len: int = 77

source

secondary_max_seq_len​

secondary_max_seq_len: int = 512

source

FluxConfig​

class max.pipelines.architectures.flux1_modulev3.FluxConfig(*, config_file=None, section_name=None, patch_size=1, in_channels=64, out_channels=None, num_layers=19, num_single_layers=38, attention_head_dim=128, num_attention_heads=24, joint_attention_dim=4096, pooled_projection_dim=768, guidance_embeds=False, axes_dims_rope=(16, 56, 56), dtype=bfloat16, device=<factory>)

source

Bases: MAXModelConfigBase

Parameters:

  • config_file (str | None)
  • section_name (str | None)
  • patch_size (int)
  • in_channels (int)
  • out_channels (int | None)
  • num_layers (int)
  • num_single_layers (int)
  • attention_head_dim (int)
  • num_attention_heads (int)
  • joint_attention_dim (int)
  • pooled_projection_dim (int)
  • guidance_embeds (bool)
  • axes_dims_rope (tuple[int, int, int])
  • dtype (DType)
  • device (DeviceRef)

attention_head_dim​

attention_head_dim: int

source

axes_dims_rope​

axes_dims_rope: tuple[int, int, int]

source

device​

device: DeviceRef

source

dtype​

dtype: DType

source

guidance_embeds​

guidance_embeds: bool

source

in_channels​

in_channels: int

source

initialize_from_config()​

classmethod initialize_from_config(config_dict, encoding, devices)

source

Parameters:

  • config_dict (dict[str, Any])
  • encoding (Literal['float32', 'bfloat16', 'q4_k', 'q4_0', 'q6_k', 'float8_e4m3fn', 'float4_e2m1fnx2', 'gptq'])
  • devices (list[Device])

Return type:

Self

joint_attention_dim​

joint_attention_dim: int

source

model_config​

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False}

source

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

num_attention_heads​

num_attention_heads: int

source

num_layers​

num_layers: int

source

num_single_layers​

num_single_layers: int

source

out_channels​

out_channels: int | None

source

patch_size​

patch_size: int

source

pooled_projection_dim​

pooled_projection_dim: int

source