Image Generation
June 19, 2025 · View on GitHub
Reusing Pre-generated Embeddings
You can reuse embeddings generated from previous runs for faster inference:
python ecad/inference/inference.py \
PixArtAlphaImageGenerator \
--input-embeddings results/inference/previous_run/embeddings \
--schedule schedules/schedules_in_paper/ours_fast.json \
--num-images-per-prompt 20 \
--output-dir results/inference/from_embeddings
Important: Embeddings are model-specific and should NOT be shared across different models. Always use embeddings generated by the same model type for inference.
Advanced Options
Override schedule parameters for custom resolutions or guidance:
python ecad/inference/inference.py \
FluxImageGenerator \
--schedule schedules/schedules_in_paper/flux_schedule.json \
--prompt-file prompts/creative_prompts.txt \
--height 768 \
--width 768 \
--guidance-scale 7.5 \
--start-seed 42 \
--seed-step 1
The script automatically:
- Generates and saves embeddings to
<output-dir>/embeddings/for future reuse - Saves generated images to
<output-dir>/images/ - Handles batch processing efficiently
Note: For working with pre-generated embeddings (e.g., from benchmark datasets), refer to the Image Generation section above. For PixArt models at resolutions other than 256×256, use a custom schedule that specifies the appropriate height, width, and transformer weights.
For complete usage details:
python ecad/inference/inference.py --help
generate_images.py
Once embeddings are prepared, you can also use generate_images.py to render images under each caching schedule. In these examples, output images are saved under results/benchmark/<dataset>/<model_name> with subdirectories per schedule.
For example, for ImageReward and PixArt-α:
python ecad/benchmark/generate_images.py \
--image-generator PixArtAlphaImageGenerator \
--input-dir results/embeddings/image_reward/pixart_alpha_embeddings \
--schedule-dir schedules/schedules_in_paper \
--output-dir results/benchmark/image_reward/pixart_alpha \
--num-images-per-prompt 10 \
--batch-size 100 \
--seed 0 \
--seed-step 1
This will process each prompt embedding in results/embeddings/image_reward/pixart_alpha_embeddings, apply every JSON schedule found in schedules/schedules_in_paper, and save the results into results/benchmark/image_reward/pixart_alpha/<schedule-name>/. Adjust --num-images-per-prompt, --batch-size, or other flags as needed.
For full parameter details, run:
python ecad/benchmark/generate_images.py --help