Skip to content

Commit 2c3b808

Browse files
committed
working changes
1 parent 08566b1 commit 2c3b808

11 files changed

Lines changed: 1147 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Official Z-Image inference defaults. Z-Image and Turbo share the denoiser.
2+
pretrained_model_name_or_path: "Tongyi-MAI/Z-Image"
3+
prompt: "A red fox reading a book in a quiet library, cinematic light"
4+
resolution: 1024
5+
num_inference_steps: 50
6+
seed: 42
7+
output_file: "/tmp/zimage.png"
8+
weights_dtype: "bfloat16"
9+
activations_dtype: "bfloat16"
10+
attention: "flash"
11+
flash_block_sizes: {}
12+
hardware: "tpu"
13+
skip_jax_distributed_system: true
14+
run_name: "zimage"
15+
output_dir: "/tmp/maxdiffusion"
16+
save_config_to_gcs: false
17+
jax_cache_dir: ""
18+
unet_checkpoint: ""
19+
dataset_name: ""
20+
dataset_save_location: "/tmp"
21+
per_device_batch_size: 1
22+
learning_rate_schedule_steps: 1
23+
max_train_steps: 1
24+
compile_topology_num_slices: -1
25+
quantization_local_shard_count: -1
26+
use_qwix_quantization: false
27+
attention_sharding_uniform: true
28+
logical_axis_rules: [["batch", "data"], ["activation_length", "context"], ["activation_heads", "tensor"], ["heads", "tensor"], ["mlp", "tensor"], ["embed", "fsdp"], ["norm", "tensor"], ["out_channels", "tensor"]]
29+
data_sharding: [["data", "fsdp", "context", "tensor"]]
30+
mesh_axes: ["data", "fsdp", "context", "tensor"]
31+
dcn_data_parallelism: 1
32+
dcn_fsdp_parallelism: 1
33+
dcn_context_parallelism: 1
34+
dcn_tensor_parallelism: 1
35+
ici_data_parallelism: 1
36+
ici_fsdp_parallelism: 1
37+
ici_context_parallelism: 1
38+
ici_tensor_parallelism: -1
39+
allow_split_physical_axes: false
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Official Z-Image-Turbo inference defaults. The base model uses the same
2+
# transformer; only its recommended denoising-step count differs.
3+
pretrained_model_name_or_path: "Tongyi-MAI/Z-Image-Turbo"
4+
prompt: "A red fox reading a book in a quiet library, cinematic light"
5+
resolution: 1024
6+
num_inference_steps: 9
7+
seed: 42
8+
output_file: "/tmp/zimage-turbo.png"
9+
weights_dtype: "bfloat16"
10+
activations_dtype: "bfloat16"
11+
attention: "flash"
12+
flash_block_sizes: {}
13+
hardware: "tpu"
14+
skip_jax_distributed_system: true
15+
run_name: "zimage-turbo"
16+
output_dir: "/tmp/maxdiffusion"
17+
save_config_to_gcs: false
18+
jax_cache_dir: ""
19+
unet_checkpoint: ""
20+
dataset_name: ""
21+
dataset_save_location: "/tmp"
22+
per_device_batch_size: 1
23+
learning_rate_schedule_steps: 1
24+
max_train_steps: 1
25+
compile_topology_num_slices: -1
26+
quantization_local_shard_count: -1
27+
use_qwix_quantization: false
28+
attention_sharding_uniform: true
29+
logical_axis_rules: [["batch", "data"], ["activation_length", "context"], ["activation_heads", "tensor"], ["heads", "tensor"], ["mlp", "tensor"], ["embed", "fsdp"], ["norm", "tensor"], ["out_channels", "tensor"]]
30+
data_sharding: [["data", "fsdp", "context", "tensor"]]
31+
mesh_axes: ["data", "fsdp", "context", "tensor"]
32+
dcn_data_parallelism: 1
33+
dcn_fsdp_parallelism: 1
34+
dcn_context_parallelism: 1
35+
dcn_tensor_parallelism: 1
36+
ici_data_parallelism: 1
37+
ici_fsdp_parallelism: 1
38+
ici_context_parallelism: 1
39+
ici_tensor_parallelism: -1
40+
allow_split_physical_axes: false
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
"""Generate an image with Z-Image or Z-Image-Turbo."""
2+
3+
from absl import app
4+
import jax
5+
6+
from maxdiffusion import pyconfig
7+
from maxdiffusion.max_utils import create_device_mesh, get_flash_block_sizes
8+
from maxdiffusion.pipelines.z_image import ZImagePipeline
9+
from jax.sharding import Mesh
10+
11+
12+
def main(argv):
13+
pyconfig.initialize(argv)
14+
config = pyconfig.config
15+
mesh = Mesh(create_device_mesh(config), config.mesh_axes)
16+
pipeline = ZImagePipeline.from_pretrained(
17+
config.pretrained_model_name_or_path,
18+
jax.random.key(config.seed),
19+
attention_kernel=config.attention,
20+
mesh=mesh,
21+
flash_block_sizes=get_flash_block_sizes(config),
22+
dtype=config.activations_dtype,
23+
weights_dtype=config.weights_dtype,
24+
logical_axis_rules=config.logical_axis_rules,
25+
)
26+
image = pipeline(
27+
config.prompt,
28+
height=config.resolution,
29+
width=config.resolution,
30+
num_inference_steps=config.num_inference_steps,
31+
seed=config.seed,
32+
)
33+
image.save(config.output_file)
34+
35+
36+
if __name__ == "__main__":
37+
app.run(main)

src/maxdiffusion/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@
2121
_import_structure["controlnet_flax"] = ["FlaxControlNetModel"]
2222
_import_structure["unet_2d_condition_flax"] = ["FlaxUNet2DConditionModel"]
2323
_import_structure["vae_flax"] = ["FlaxAutoencoderKL"]
24+
_import_structure["z_image.transformer_z_image"] = ["ZImageTransformer2DModel"]
2425

2526

2627
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
2728
from .controlnet_flax import FlaxControlNetModel
2829
from .unet_2d_condition_flax import FlaxUNet2DConditionModel
2930
from .vae_flax import FlaxAutoencoderKL
31+
from .z_image.transformer_z_image import ZImageTransformer2DModel
3032
from .lora import *
3133
from .flux.transformers.transformer_flux_flax import FluxTransformer2DModel
3234
from .ltx_video.transformers.transformer3d import Transformer3DModel
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"""Z-Image model components."""
2+
3+
from .transformer_z_image import ZImageTransformer2DModel

0 commit comments

Comments
 (0)