Sign In

How to Accidentally Create a Pretty Good LoRa

How to Accidentally Create a Pretty Good LoRa

I recently posted KFT's HLA Image Enhancer [FLUX] which as I mentioned on the model description, accidentally ended up much better than intended.

The original intention was to create a joke placebo image enhancer LoRa which would maybe make images look better (like some models maybe fix faces/hands/image quality). So I picked out a variety of 56 images people have generated/posted on glif using Flux Pro 1.1 (see training data attached to article) with default captions and threw it in the LoRa oven at pretty basic settings (below main article content).

Training Images (thumbnails):

My expectation was that it would just take these and maybe improve the model a little if you looked for the details (like a placebo), but by Epoch 3 I could see a marked improvement in general.

I took the 20th and final epoch and got testing, and found at full strength it provided a notably better image regardless of style of image attempted.

Image Comparison Gallery:

[All images used the same seeds/prompts, with the only difference being the the enhancer.]

Initial Thoughts

My initial thinking is that the trained model allowed FLUX to use these generally higher quality images with captions and built them into its knowledge of how things should look (faces, hair/fur, environments, lighting, background details, etc.) so it generally just learned/applied additional details to most things.

Try it out, let me know what you think, and share any insights/ideas you have! I plan to update this article with future findings from continued testing (e.g., insights, discoveries, weak points, etc.)

Overall moral of the story/article?

Get creative!

Try some crazy things and see what happens! Maybe you'll strike gold!

And if you're looking for a Discord group that's all about trying these kinds of experiments and figuring things out together, check out FlashFiring's Model Creation Community.


Training Settings (trained on Civitai)

"engine": "kohya",
"unetLR": 0.0005,
"clipSkip": 1,
"loraType": "lora",
"keepTokens": 0,
"networkDim": 14,
"numRepeats": 12,
"resolution": 1024,
"lrScheduler": "cosine_with_restarts",
"minSnrGamma": 5,
"noiseOffset": 0.1,
"targetSteps": 1120,
"enableBucket": true,
"networkAlpha": 16,
"optimizerType": "AdamW8Bit",
"textEncoderLR": 0,
"maxTrainEpochs": 20,
"shuffleCaption": false,
"trainBatchSize": 4,
"flipAugmentation": true,
"lrSchedulerNumCycles": 3
20

Comments