This LoRA was trained on 550k images of normal to hyper sized anime characters. It focus mainly on breasts/ass/belly/thighs, but now handles more general tag topics as well.
**If you're wondering where the v8 LoRA is, read the Changelog Article.**
Also a back up HuggingFace link for these models
Uploaded 1.4 million custom tags used in hyperfusion here for integrating into your own datasets
Recommendations:
negative (depends on base model, use what works for you): lowres, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, (worst quality, low quality), normal quality, jpeg artifacts, signature, watermark, username, blurry, monochrome, [3d], comic, (sketch), transparent background, artist name
cfg: 9-12
resolution: 768 to 1024, but prefers to be closer to 768
clip skip: 2
sampler: With v7+ try to avoid Karras samplers. Training with --zero_terninal_snr makes karras samplers problematic, but they still work somewhat.
Changelog Article Link
Tag Info (You definitely want to read the tag docs, see :Training Data)
Because hyperfusion is a conglomeration of multiple tagging schemes, I've included a tag guide in the training data download section. It will describe the way the tags work (similar to Danbooru tags), which tags the model knows best, and all my custom labeled tags.
For the most part you can use a majority of tags from Danbooru, Gelbooru, r-34, e621, related to breasts/ass/belly/thighs/nipples/body_shape.
The best method I have found for tag exploration is going to one of the booru sites above and copying the tags from any image you like, and use them as a base. Because there are just too many tags trained into this model to test them all.
Tips
If you are not getting the results you expect from a tag, find other similar tags and include those as well. I've found that this model tends to spread its knowledge of a tag around to other related tags. So including more will increase your chances of getting what you want.
Using the negative "3d" does a good job of making the image more anime like if it starts veering too much into a rendered model look.
Ass related tags have a strong preference for back shots, try a low strength ControlNet pose to correct this, or try one or more of these in the negatives "ass focus, from behind, looking back". The new "ass visible from front" tag can help too.
...more tips in tag docs
Extra
This model took me months of failures and plenty of lessons learned (hence v7)! I would eventually like to train a few more image classifiers to improve certain tags, but all future dreams for now.
As usual, I have no intention of monetizing any of my models. Enjoy the thickness!
Training Hurdles
-Tagging-
The key to tagging a large dataset is to automate it all. I started with the wd-tagger (or similar danbooru tagger) to append some common tags on top of the original tags. Eventually I added an e621 tagger too, but I generally only tag with a limited set of tags and not the entire tag list (some tags are not accurate enough). Then I trained a handful of image classifiers like breast size, breasts shape, innie/outie navel, directionality, motion lines, and about 20 others..., and let those tag for me. They not only improve on existing tags, but add completely new concepts to the dataset. Finally I converted similar tags into one single tag as described in the tag docs (I stopped doing this now. With 3m images it really doesn't matter as much).
Basically any time I find its hard to prompt for a specific thing, I throw together a new classifier, and so far the only ones that don't work well are ones that try to classify small details in the image, like signatures.
Starting in v9 I will be including ~5% captions along side the tags. These captions are generated with CogVLM.
I used this to train my image classifiers
https://github.com/huggingface/transformers/tree/main/examples/pytorch/image-classification
Ideally, I should train a multi-class-per-image classifier like the Danbooru tagger, but for now these single class-per-image classifiers work well enough.
-Poor Results-
For a long time I was plagued with sub par results. I suspected maybe the data was just too low quality, but in the end it just ended up being poorly tagged images. Sites like r-34 tend to have too many tags describing an image like "big breasts, huge breasts, hyper breasts" all on the same image. This is not great for a model where you want specific sizes. Using the classifiers I mentioned above I limited each image to a single size tag for each body part, and the results were night and day.
2023/08/13 Coming back to this after even more experience in labeling/training, I still agree with the above statement. As I tag more and more images, the model becomes more reliable with prompts. You can see this clearly with the new bottomheavy, topheavy, bellyheavy tags. It makes it easier to generate specific body types, and helps the model understand what you want from your prompt. I didn't have to add additional images to make these tags work. I just improved tagging.
-Tag Bleeding-
An example of tag bleeding is using the tag "gigantic breasts", but you end up with everything being gigantic, breasts, ass, thighs. It's been an annoying problem.
2024/03/15 After training some larger models, I find bleeding is less of an issue. It seems the answer is more data.
-Testing-
In order to determine if a new model is better than the last, it's important to have some standard prompts that you can compare with. x/y plot is great for this. Just keep in mind that the seeds between models will be totally different, and you likely need to compare dozens of images at a time and not 1 to 1.
It's also important to compare new models against the base model output to make sure what you are training is actually having an overall positive effect compared to the original model (obvious, but often overlooked).
2023/08/13 The hardest part about testing is trying to determine when you have overcooked your text encoder. At some point the models ability to interpret the prompt starts to degrade when training the text encoder at a high enough LR. I've seen it happen with smaller and larger models alike. Unfortunately I still don't have a good way to test this other than comparing prompts to older models. I've tried training without the text encoder many times, but the results are always sub par or too slow to train. Concepts that are foreign to the base model, are so much better understood with TE enabled in training.
-Software/Hardware-
The training was all done on a 3090 on Ubuntu. The software used is Kohya's trainer, since it currently has the most options to choose from.
Description
Added ~60k more images
Lots more image classifiers trained, and existing classifiers improved
Training Notes:
~300k images from Danbooru, r-34, e621 etc...
LR 2e-4
TE_LR 5e-5
batch 4
GA 32
dim 64 (resized with kohya, with sv_ratio=10, and max dim 64)
conv_dim 32
alpha 32
conv_alpha 32 (I meant to set this to conv_dim/2, but ohh well)
scheduler: cosine_with_restarts, 33 restarts
base model NAI
No --vae
flip aug
clip skip 2
225 token length
bucketing at 1024 max 1024 (I should have stuck with max_bucket_size=768 for reduced training time)
tag drop chance 0.1
network_dropout 0.33
scale_weight_norms 1 (either this or dropout resulted in less blown out results, which allowed for longer training at higher LR)
tag shuffling
50,000 unique tags, but about 500 frequently occurring ones (see attached training data for tag list)
about 14 days training time (slower than last because of bucket size choice)
FAQ
Comments (39)
This sadly doesn't work as it's on SD1.4 and everywhere I look requires SD1.5. =(
It works fine on 1.5 as well
I've had so much problems in the past because my SD was 1.4. Many LORAS just didnt work, like the Concept Bodypaint. I just typed 'git pull' in the SD (automatic1111) folder, and it's all good now (version 1.5.1).
The models I use are all SD1.4. Try updating to the latest automatic1111
@spiochkrakow443 not from what I can tell. Doesn't seem to work at all.
@draglorr630 I uploaded some examples of it being used with 1.5 and it absolutely works with 1.5
[TIPS AHEAD] I love this LORA, it's one of my TOP 3 favorites! It really works in many realistic checkpoints like EpicRealism and ThisIsReal, and with hundreds of openpose here in Civitiai, but it's still really hard to make the character have a 'frontal or side pose', even in the 280k version, once we use '<size> ass'. I already used SD 1.5.1. I have a huge/gigantic (no pun intended) generated images with it (bottomheavy related). But most of them is like: 'hey, lady, good morning!' 'God Morning, check my ass!'
I tested many things like: ' (bottomheavy:1.2), (hourglass figure:1.2), huge ass, ass visible from front', with 'looking back, back pose' in the negative, with LORA weight between 0.6 to 0.9, but I just get up to 2 frontal/side out in 10 renders. And sometimes the frontal/side pose isn't 'hyper'. She is just with a normal body shape.
And I know... the order of tags in a prompt matters. Sometimes, exchanging 'masterpiece' ', detailed' and those 'other tags' around, makes the hyper works better.
Tips that I' ve learnt that worked better and the OP might check, and perhaps put in the description, is that:
1. we can force her front/side view by adding weight, like (standing from front: 1.3), (walking front view: 1.3), (squatting from side view: 1.3), (jumping, from front pose:1.3), and else.
2. if you still get back poses, try to remove <size>ass and use (thick thighs:1.x) instead. It works better (tested in realistic checkpoints). You all know that having bigger thighs might imply having bigger asses anyway. If you still want to increase her ass, use higher weights in hourglass, like (hourglass figure:1.2), and then (<size> ass:1.0) or lower, that is, everything relating to 'ass' having less than hourglass' weight. Might get up to 4 out of 10 renders being 'not' back view. I also noticed this since the 100k versions.
3. Also, putting more tags like 'narrow waist, wide hips', all the time, helps.
4. Removing 'ass visible from front' from positive actually helped in many realistic checkpoints like epicRealism and runDiffusion FX. Perhaps the 'ass' clause above might be still forcing her to be in a back view somehow.
5. Finally, increasing CFG scale, say, 8, up to 10 (according to the fact that higher CFG means SD following your prompt more closely).
My latest prompt that's working most of the time is: 'high detail, woman, (running, front view:1.3), brown hair, single long braid, (bottomheavy:1.2), (hourglass figure:1.2), wide hips, narrow waist, (thick thighs:1.2), hairy, boots, (massive scale stunning environment), ruins, cave, architecture, sharp focus, outdoors, daylight, <lora:hyperfusion_280k_ass_v6:0.8>'
Great tips. Anytime you prompt ass you mostly always get ass shots. Stick with thick thighs,wide hips and the fat ass comes along for the ride without focusing on it.
Good tips.
Yes "ass visible from front" and "from front" are the 2 custom tags I added just for this purpose, but you still can't add too much prompt weight to ass tags even with those.
I tend to use "bottomheavy", "thick thighs" or "massive thighs", "wide hips", "from front" with small amounts of "(huge ass:0.8)" for front shots. You can push the bottomheavy/thigh prompt weight pretty far if needed. I always suggest trying each tag separately at high prompt weight (:1.8)+ to get a feel for what it actually does.
People always forget about config scale, but it does make the hyperfusion tags stick better
Glad to hear it works well with realistic models too. There are near 0 realistic images in this dataset =P
Oh also, for side shots try the "from side" tag, that was one of the 3 directionality tags I added. It has enough tagged images it usually works well when you want them facing squarely to the side
Great! I'll surely test "from side" !
Thank you for the tips about the possibility to add much more weight on those tags.
As about config scale, perhaps people forget because there are so many Loras that don't use this, that make us skip that. I noticed in your description that you mentioned 'size 200', whose number is not inside yours hyperfusion_279k_64dim-LoCon-v6.tags.txt file.
Oh! Today, I noticed the model sxzLuma works better than other realistic ones with your Lora. She uses to have more 'front poses' if asked, and the entire body structure we choose by tags remains consistent in renders. So, hmmmm..... some realistic Models 'struggles' a bit more than others. It would be nice if we could map the best ones. So far, AOM2, juggernaugt and sxzLuma might be the best ones. Hassaku might respect well (>60%), CyberRealistic3.3 might fail up to 50% of the time (some back view, some with slim bodies). runDiffusionFX and epicRealism5 tends to fail more.
@schsch Ohh, the size 200 thing was an old tagging scheme for breast size that doesn't exist any more. I went with danbooru size tags instead. I should update that.
I'm having trouble making the hourglass figure even other Loras. Any tips please?
Something like this as a base if you want it to be more on the extreme side
masterpiece, best quality, 1girl, (hourglass:1.4), cowboy shot, (wide hips:1.2), narrow waist, hyperbreasts, hyperass, thick thighs
Alternatively you could try to mash topheavy and bottomheavy together to see what that does
@throwawayjm Ok Ill give it a try. But what if I hit (gigantic breasts:1.6), (hyper breasts), (Massive breasts), (oversized breasts), (breasts bigger than body, (wide hips), thick thighs, (gigantic ass:1.3) hourglass figure, vagina, ? Will they work for this lora or no?
@Steeltron2000 It should, all those tags are in the dataset. Just a matter of balancing the prompt weights so both top and bottom are even
@throwawayjm Ok thanks
It's all a matter of testing. Some Loras require higher hyper weights. I used to have a TXT file with prompts like: 1girl, (bottomheavy: 1.2), (hourglass:1.2), (wide hips:1.2), small waist, hyperbreasts, thick thighs, then I do like 10 renders. If most are okay, I keep note of this prompt above and I can then add features like hair style, clothing, etc.
Then I keep testing with other prompts with different weights, and I take notes accordingly.
You know you can edit styles.csv (main stable diffusion folder), then put there something like: hyperAss_BH_1,2_HourG_1.2, "1girl.............. ", "negative prompt here"
hyperAss_BH_1,3_HourG_1.4, "1girl.............. ", "negative prompt here"
Then you can quickly click in the empty field in the right area of A1111 web-ui in order to choose the prompts you saved in styles.csv, then click in the clipboard icon 'apply selected style to prompt' and use your best combinations quickier.
@schsch Ok. But what about (gigantic breasts:1.2)?
@Steeltron2000 You can add it as well. If it interferes with the hourglass, try to diminish the weight (1.1, 1.0, 0.9)..... Yes, you can use less than 1.0 too. By having lower weights, it doesnt mean it wont appear, but it will make the other features like hourglass 'come first'.
@schsch Thanks
I get the following error whenever I try to use this. Any ideas anyone?
loading Lora V:\AI\stable-diffusion-webui-directml\models\Lora\hyperfusion_279k_64dim-LoCon-v6.safetensors: RuntimeErrorTraceback (most recent call last):
File "V:\AI\stable-diffusion-webui-directml\extensions-builtin\Lora\lora.py", line 215, in load_loras
lora = load_lora(name, lora_on_disk.filename)
File "V:\AI\stable-diffusion-webui-directml\extensions-builtin\Lora\lora.py", line 176, in load_lora
module.weight.copy_(weight)
RuntimeError: output with shape [33, 320, 1, 1] doesn't match the broadcast shape [33, 320, 3, 3]
Only thing I can recommend is to make sure your code and extensions are up to date.
its a lycoris, not a lora. that's why. @throwawayjm its mislabeled on your info as a lora
@MorganFreeman No it's not. There's been an known issue loading Kohya LoCon Loras in A1111 on older versions. Just need to update.
I was using A1111 version 1.4 and I've got many problems due to an outdated version. Going to 'extensions' tab is not enough. You have to do a 'git pull' in A1111 main folder. If you dont have git, you need it.
@throwawayjm LoCon =/= LoRA that's why there's a different label on civitai, there's a difference. You know this. Please fix your tag
still can't do sleeping positions, the furry models like bb95 can and they have the same belly tags, so idk why hyper bellies just wont work with this for lying down poses. Only problem with those models is they don't do humans that good. The rare times i get anything close, they have legs missing, even with (((missing legs:1.2))) in the negative, or (((perfect legs))) in positive. When you do XL please please, try to use lying down vore and hyperpreg images for training.
It's a matter of better tagging for sure. Hyperfusion doesn't have great tagging when it comes to positions like laying down right now (only 2k on stomach, 5k on back), and most danbooru based models hate lying positions too, so that doesn't help any. But I trained an image classifier that might help with that in the far future (7k on stomach, 20k on back).
Lets just hope that SDXL understands positions better overall. My first SDXL experiment will be the same dataset as v6 so I can compare them both.
@throwawayjm Thanks, open pose solves the issue somewhat, but its still hard not to get something that isn't lumpy blobs or missing legs.
@throwawayjm also do you think you could try to do covered bellies with clothes too? IDK how better at it XL is going to be.
@Taco360 I've thought about it, but its way low on the priority list for tagging. Try "topwear", and "clothed" for now, that's probably as close as you can get.
I think Version 6 is a Lycoris, I'm getting a crash
curr_layer.weight.data += alpha * torch.mm(weight_up, weight_down).unsqueeze(2).unsqueeze(3)
RuntimeError: mat2 must be a matrix
It's a Kohya LoCon, same as v5. Try updating A1111 if that's what you are using.
@throwawayjm thats what I mean, on the right side of this page it says Lora SD 1.4 instead of LoCon. I don't use Auto1111, so this doesn't work on diffusers-based software
@MorganFreeman LoCon just means that the Conv2d networks within the model are also being saved inside the LoRA. It's a variety of LoRA, It doesn't have anything to do with the SD version. You could create a LoCon LoRA from SD1.4, 1.5, 2.0, or SDXL.
However now that I released a finetuned checkpoint, you can extract whatever type of LoRA you want from that using Kohya's code.
https://github.com/kohya-ss/sd-scripts/blob/main/networks/extract_lora_from_models.py
did you try to put this on seaart.ai yet? I've seen your account on there but I can only access hyperpreg and would love to make use of this lora via seaart
Not yet, must be someone else's account. But ill look into it at least.
Details
Files
hyperfusion_279k_64dim-LoCon-v6.safetensors
Mirrors
hyperfusion_279k_64dim-LoCon-v6.safetensors
hyperfusion_279k_64dim-LoCon-v6.safetensors
hyperfusion_279k_64dim-LoCon-v6.safetensors
hyperfusion_279k_64dim-LoCon-v6.safetensors
hyperfusion_279k-lora-or-lycoris.safetensors
hyperfusion_279k_64dim-LoCon-v6.safetensors
hyperfusion_279k_64dim-LoCon-v6.safetensors
Available On (1 platform)
Same model published on other platforms. May have additional downloads or version variants.



















