gitextract_hwf0_9gj/ ├── LICENSE ├── README.md ├── spo_training_and_inference/ │ ├── .gitignore │ ├── README.md │ ├── accelerate_cfg/ │ │ └── 1m4g_fp16.yaml │ ├── assets/ │ │ └── prompts/ │ │ └── 4k_training_prompts.json │ ├── configs/ │ │ ├── basic_config.py │ │ ├── spo_sd-v1-5_4k-prompts_num-sam-4_10ep_bs10.py │ │ └── spo_sdxl_4k-prompts_num-sam-2_3-is_10ep_bs2_gradacc2.py │ ├── environment.yaml │ ├── inference_scripts/ │ │ ├── inference_spo_sd-v1-5.py │ │ └── inference_spo_sdxl.py │ ├── spo/ │ │ ├── custom_diffusers/ │ │ │ ├── __init__.py │ │ │ ├── ddim_seperate.py │ │ │ ├── ddim_with_logprob.py │ │ │ ├── multi_sample_pipeline.py │ │ │ └── multi_sample_pipeline_sdxl.py │ │ ├── datasets/ │ │ │ ├── __init__.py │ │ │ ├── builder.py │ │ │ └── prompt_dataset.py │ │ ├── preference_models/ │ │ │ ├── __init__.py │ │ │ ├── builder.py │ │ │ ├── compare_funcs.py │ │ │ ├── models/ │ │ │ │ ├── step_aware_preference_model.py │ │ │ │ └── time_conditioned_clip.py │ │ │ └── preference_model_fns.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── constants.py │ │ └── dist_utils.py │ └── train_scripts/ │ ├── train_spo.py │ └── train_spo_sdxl.py └── step_aware_preference_model/ ├── .gitignore ├── README.md ├── requirements.txt ├── run_commands/ │ ├── train_spm_sd15.sh │ └── train_spm_sdxl.sh ├── setup.py └── trainer/ ├── accelerators/ │ ├── __init__.py │ ├── base_accelerator.py │ ├── debug_accelerator.py │ ├── deepspeed_accelerator.py │ └── utils.py ├── conf/ │ ├── config.yaml │ └── experiment/ │ ├── clip.yaml │ └── clip_h.yaml ├── configs/ │ ├── __init__.py │ └── configs.py ├── criterions/ │ ├── __init__.py │ └── spm_criterion.py ├── datasetss/ │ ├── __init__.py │ ├── base_dataset.py │ └── pick_a_pic_spm_dataset.py ├── lr_schedulers/ │ ├── __init__.py │ ├── constant_with_warmup.py │ └── dummy_lr_scheduler.py ├── models/ │ ├── __init__.py │ ├── base_model.py │ ├── step_aware_preference_model.py │ └── time_conditioned_clip.py ├── optimizers/ │ ├── __init__.py │ ├── adamw.py │ └── dummy_optimizer.py ├── scripts/ │ └── train_spm.py ├── tasks/ │ ├── __init__.py │ ├── base_task.py │ └── spm_task.py └── utils/ ├── __init__.py ├── batchable_ddim_scheduler.py └── constants.py