-
Training epochs: 24
-
Training steps: 150
-
Learning rate: 0.0001
- Learning rate schedule: constant
- Warmup steps: 500
-
Max grad value: 0.01
-
Effective batch size: 1
- Micro-batch size: 1
- Gradient accumulation steps: 1
- Number of GPUs: 1
-
Gradient checkpointing: False
-
Prediction type: epsilon (extra parameters=['training_scheduler_timestep_spacing=trailing', 'inference_scheduler_timestep_spacing=trailing', 'controlnet_enabled'])
-
Optimizer: adamw_bf16
-
Trainable parameter precision: Pure BF16
-
Base model precision: no_change
-
Caption dropout probability: 0.0%
-
LoRA Rank: 64
-
LoRA Alpha: 64.0
-
LoRA Dropout: 0.1
-
LoRA initialisation style: default
1import torch
2from diffusers import PixArtSigmaPipeline, PixArtSigmaControlNetPipeline
3# if you're not in the SimpleTuner environment, this import will fail.
4from helpers.models.pixart.controlnet import PixArtSigmaControlNetAdapterModel
5
6# Load base model
7base_model_id = "terminusresearch/pixart-900m-1024-ft-v0.6"
8controlnet_id = "bghira/pixart-controlnet-lora-test"
9
10# Load ControlNet adapter
11controlnet = PixArtSigmaControlNetAdapterModel.from_pretrained(
12 f"{controlnet_id}/controlnet"
13)
14
15# Create pipeline
16pipeline = PixArtSigmaControlNetPipeline.from_pretrained(
17 base_model_id,
18 controlnet=controlnet,
19 torch_dtype=torch.bfloat16
20)
21pipeline.to('cuda' if torch.cuda.is_available() else 'cpu')
22
23# Load your control image
24from PIL import Image
25control_image = Image.open("path/to/control/image.png")
26
27# Generate
28prompt = "A photo-realistic image of a cat"
29image = pipeline(
30 prompt=prompt,
31 image=control_image,
32 num_inference_steps=16,
33 guidance_scale=4.0,
34 generator=torch.Generator(device='cuda').manual_seed(42),
35 controlnet_conditioning_scale=1.0,
36).images[0]
37
38image.save("output.png")
39
40
41