Sign In

How I Organize Styles

14

How I Organize Styles

It took a lot of mistakes and confusion for me to end up with an efficient organization system for my styles. I finally have a system that works for me, and I thought I'd share since I'm writing out notes for myself anyway. This is here in case anyone who uses my styles wonders why they're named as they are, or for other creators looking for inspiration.

Many of my older styles on Civitai won't match my current format because I uploaded them before I made the changes. However, it's already applied to all styles on my computer and any styles uploaded after this article was written.

Trigger

Most of my styles are trained locally in kohya and it requires a trigger. Even if it weren't required, I still like having a trigger because it can help if a style isn't coming through enough.

I never use terms that describe the style as a trigger. There are a few reasons for this:

  • Sometimes I don't know how to describe the style until after I see output from the finished versions. Sometimes I like results that weren't what I was expecting, and I don't want to be stuck with a trigger that doesn't make sense.

  • I've found that if I use words the base model has already been trained on, they can mix with my style and dilute it. If this blending turns out to be beneficial, it's always an option to include it in the prompt later. If it's the trigger I'm stuck with it.

  • Using a generic trigger that can apply to all my styles makes them easier to remember.

Early on, I always used novuschroma and a suffix with the style ID. Now I only use "novuschroma style" for everything. This simplifies everything and makes combining styles easier. Note that even older styles will trigger with only "novuschroma style" (though they might be a bit weaker).

For SDXL and Pony, I've found it's always beneficial to include the trigger. I get mixed results with FLUX. Sometimes it works better with the trigger, and other times it works better by using descriptive terms that weren't even in the training. I always test and include this information for models I upload to Civitai.

Epoch Selection

I settled on saving about 6 epochs per style. More than that is too overwhelming for me since I always take the time to make test images from all the epochs. I select my favorite epochs based on the test images to copy to my model folder and upload to Civitai. I only delete the epochs that were a complete failure. Sometimes I do end up using epochs that weren't part of my initial selection.

I make a standard set of test images with the same seed for each epoch. I have a script to send them to photoshop and put them them in a grid. My epoch comparison sheets look like this:

base_SDX1-137_a3

base_SDX1-137_a5

Filenames

When I started, I always renamed the trained epochs I selected after copying them from the kohya folder. This can make it easier to see the official titles or version numbers, but it made it harder to tell which epochs I used. I tried to keep up with it in a spreadsheet, but it was a hassle and sometimes I forgot. Now I use a renaming script to rename all the epochs in the kohya training folder, and I keep this filename even after the LoRA is copied to other locations.

The filenames include an ID, my username, model abbreviation, and epoch number. Example:

124_novuschromaSXL_a5

There are three groups of IDs:

X00 series - this includes the first group of styles I made. There were originally only 2 digits because I didn't expect to make more than 100 styles. I added the X to make all the filenames the same length and to differentiate them from the 000 series. The trigger in the X00 series includes the last two digits of the ID. For example, X28_novuschromaSXL_a2 would be "novuschroma28 style".

000 series - these are new versions of the X00 series that all use the trigger "novuschroma style". The last two digits always match with a style in the X series. It means they're based on variations of the same training image sets. For example, 028_novuschromaSXL used images from the same training set as X28_novuschromaSXL.

100 series - these are the most current styles. Aside from a few outliers I made when I was experimenting, they all use the trigger "novuschroma style". This series can continue up to 999.

The model abbreviations are:

  • SXL = Stable Diffusion SDXL

  • FXD = Flux Dev

  • PY6 = Pony 6

  • S3M = Stable Diffusion 3.5 Medium

The epochs always start with "a" for the first style I train in the series, then continues down the alphabet for subsequent versions. The number after the letter is the epoch number.

Titles

I try to make titles that are descriptive, short, and also sound nice when possible. Sometimes giving a style a good title is the hardest part. I actually have styles I haven't uploaded just because I haven't thought of a good title for them yet.

Civitai Model Cards

It seems to be standard practice to include multiple base model types (like SDXL, Pony, Flux, etc) on the same model card. I did this at first, but now I keep them separate and link to versions for other base models. Here are my reasons:

  • I found out from Civitai devs that including multiple base models can cause problems with looking them up in the generator. They said it wasn't intended to have them on a single model card. They planned to fix this in the future, but I don't know if they have yet. I figured it's easier to avoid it.

  • Adding multiple base models forces me to choose one to be the primary default and buries the others.

  • I want to be able to make new versions of less popular base models without replacing the cover image for a more popular established model lots of people are using.

Conclusion

That's all I can think of for now. Feel free to leave a comment if you have questions.

14