|
| 1 | +--- |
| 2 | +job: extension |
| 3 | +config: |
| 4 | + # this name will be the folder and filename name |
| 5 | + name: "my_first_flux_lora_v1" |
| 6 | + process: |
| 7 | + - type: 'sd_trainer' |
| 8 | + # root folder to save training sessions/samples/weights |
| 9 | + training_folder: "output" |
| 10 | + # uncomment to see performance stats in the terminal every N steps |
| 11 | +# performance_log_every: 1000 |
| 12 | + device: mps |
| 13 | + # if a trigger word is specified, it will be added to captions of training data if it does not already exist |
| 14 | + # alternatively, in your captions you can add [trigger] and it will be replaced with the trigger word |
| 15 | +# trigger_word: "p3r5on" |
| 16 | + network: |
| 17 | + type: "lora" |
| 18 | + linear: 16 |
| 19 | + linear_alpha: 16 |
| 20 | + save: |
| 21 | + dtype: float16 # precision to save |
| 22 | + save_every: 250 # save every this many steps |
| 23 | + max_step_saves_to_keep: 4 # how many intermittent saves to keep |
| 24 | + push_to_hub: false #change this to True to push your trained model to Hugging Face. |
| 25 | + # You can either set up a HF_TOKEN env variable or you'll be prompted to log-in |
| 26 | +# hf_repo_id: your-username/your-model-slug |
| 27 | +# hf_private: true #whether the repo is private or public |
| 28 | + datasets: |
| 29 | + # datasets are a folder of images. captions need to be txt files with the same name as the image |
| 30 | + # for instance image2.jpg and image2.txt. Only jpg, jpeg, and png are supported currently |
| 31 | + # images will automatically be resized and bucketed into the resolution specified |
| 32 | + # on windows, escape back slashes with another backslash so |
| 33 | + # "C:\\path\\to\\images\\folder" |
| 34 | + - folder_path: "/path/to/images/folder" |
| 35 | + caption_ext: "txt" |
| 36 | + caption_dropout_rate: 0.05 # will drop out the caption 5% of time |
| 37 | + shuffle_tokens: false # shuffle caption order, split by commas |
| 38 | + cache_latents_to_disk: true # leave this true unless you know what you're doing |
| 39 | + resolution: [ 512, 768, 1024 ] # flux enjoys multiple resolutions |
| 40 | + train: |
| 41 | + batch_size: 1 |
| 42 | + steps: 2000 # total number of steps to train 500 - 4000 is a good range |
| 43 | + gradient_accumulation_steps: 1 |
| 44 | + train_unet: true |
| 45 | + train_text_encoder: false # probably won't work with flux |
| 46 | + gradient_checkpointing: true # need the on unless you have a ton of vram |
| 47 | + noise_scheduler: "flowmatch" # for training only |
| 48 | + optimizer: "adamw" # adamw8bit not supported on mps |
| 49 | + lr: 1e-4 |
| 50 | + # uncomment this to skip the pre training sample |
| 51 | +# skip_first_sample: true |
| 52 | + # uncomment to completely disable sampling |
| 53 | +# disable_sampling: true |
| 54 | + # uncomment to use new vell curved weighting. Experimental but may produce better results |
| 55 | +# linear_timesteps: true |
| 56 | + |
| 57 | + # ema will smooth out learning, but could slow it down. Recommended to leave on. |
| 58 | + ema_config: |
| 59 | + use_ema: true |
| 60 | + ema_decay: 0.99 |
| 61 | + |
| 62 | + # will probably need this if gpu supports it for flux, other dtypes may not work correctly |
| 63 | + dtype: bf16 |
| 64 | + model: |
| 65 | + # huggingface model name or path |
| 66 | + name_or_path: "black-forest-labs/FLUX.1-dev" |
| 67 | + is_flux: true |
| 68 | + quantize: false # 8-bit quantization backends are CUDA-only |
| 69 | +# low_vram: true # uncomment this if the GPU is connected to your monitors. It will use less vram to quantize, but is slower. |
| 70 | + sample: |
| 71 | + sampler: "flowmatch" # must match train.noise_scheduler |
| 72 | + sample_every: 250 # sample every this many steps |
| 73 | + width: 1024 |
| 74 | + height: 1024 |
| 75 | + prompts: |
| 76 | + # you can add [trigger] to the prompts here and it will be replaced with the trigger word |
| 77 | +# - "[trigger] holding a sign that says 'I LOVE PROMPTS!'"\ |
| 78 | + - "woman with red hair, playing chess at the park, bomb going off in the background" |
| 79 | + - "a woman holding a coffee cup, in a beanie, sitting at a cafe" |
| 80 | + - "a horse is a DJ at a night club, fish eye lens, smoke machine, lazer lights, holding a martini" |
| 81 | + - "a man showing off his cool new t shirt at the beach, a shark is jumping out of the water in the background" |
| 82 | + - "a bear building a log cabin in the snow covered mountains" |
| 83 | + - "woman playing the guitar, on stage, singing a song, laser lights, punk rocker" |
| 84 | + - "hipster man with a beard, building a chair, in a wood shop" |
| 85 | + - "photo of a man, white background, medium shot, modeling clothing, studio lighting, white backdrop" |
| 86 | + - "a man holding a sign that says, 'this is a sign'" |
| 87 | + - "a bulldog, in a post apocalyptic world, with a shotgun, in a leather jacket, in a desert, with a motorcycle" |
| 88 | + neg: "" # not used on flux |
| 89 | + seed: 42 |
| 90 | + walk_seed: true |
| 91 | + guidance_scale: 4 |
| 92 | + sample_steps: 20 |
| 93 | +# you can add any additional meta info here. [name] is replaced with config name at top |
| 94 | +meta: |
| 95 | + name: "[name]" |
| 96 | + version: '1.0' |
0 commit comments