This LoRa was trained on the WAN 2.1 I2V 480P model with 23 81-frame clips. It aims to model the physics of flaccid penises and has learned multiple different actions from it's dataset. The basic trigger word is "penis".
Example usage:
A muscular woman is flexing her abs and showing off her body. She has a large penis.She is shaking her hips and making her penis swing back and forth.A muscular woman is slapping her penis and making it bounce around.If you like this model and want to support the creation of future models, please support my work by leaving positive reviews or posting your generations to the model page.
Description
FAQ
Comments (27)
23 videos for 209 epochs?! You trained with dataset repeat and GAS at 1? At 4000 steps for 209 epochs, that's only 23 steps per epoch.
Yes, 1 epoch is 1 full pass through the dataset. In this case, batch size = 1.
There's no need for repeats when batch size = 1.
LocalOptima I've never heard of that logic before, though your results seem to show it works.
It's because repeats prevent buckets from getting dropped when the bucket size is less than the batch size. When batch size = 1, all buckets are large enough for a batch.
LocalOptima - "It's because repeats prevent buckets from getting dropped when the bucket size is less than the batch size. When batch size = 1, all buckets are large enough for a batch."
This makes no sense to me. Can you explain it or point to a resource that does?
LocalOptima - I'm sorry, but I was able to read and comprehend that entire thread, and it says nothing at all remotely like what you have said here. What are you trying to say? What does it mean for a bucket to be "dropped"? How does the number of repeats or batch size have anything to do with bucketing?
leisure_suit_larry I linked a specific post by the diffusion-pipe dev. He says "the problem is many users use very small datasets, and without repeats, a significant fraction of the dataset could be dropped due to the aspect ratio bucketing if the global batch size is >1."
LocalOptima - Thanks for the info and the link. I was absolutely remiss... my bad. I read "everything" and saw nothing relevant to your comment... and it was there in the last sentence which I skimmed over in my hasty frustration.
Sorry.
I have learned something valuable that I did not know, even after successfully training hundreds of LoRAs.
-------------------
Why would data get “dropped”?
It’s not that your images are literally deleted — they just don’t get used during some iterations/epochs because of how aspect ratio bucketing and batching interact.
Most bucketing systems (including diffusion-pipe and Musubi) work like this:
They group your images into buckets based on their aspect ratios (e.g., 1:1, 3:4, 9:16).
Each bucket is used to build batches so all images in a batch have the same target resolution (reducing distortions).
If a bucket doesn't have enough images to fill a full batch (e.g., you have a batch size of 2, but only 1 image fits that bucket), some images might sit unused in that pass.
With very small datasets (like 50–100 images), this can mean certain aspect ratios almost never get trained because they don’t neatly fill batches.
Where do repeats come in?
num_repeats multiplies the dataset artificially.
For example:
75 images, num_repeats=10 → treated as 750 images per epoch.
Each image is just duplicated logically (not on disk) to make the buckets "fatter."
The idea is:
By having more "copies" of each image, the bucketing code has enough items to fill batches consistently.
Without repeats, small buckets (like rare aspect ratios) might get skipped entirely during a given epoch.
Why does global batch size matter?
If your global batch size (per-GPU batch size × number of GPUs) is big compared to your dataset:
Buckets with only a handful of images may not have enough to fill one batch.
Those images sit out that epoch because they can’t form a complete batch.
Repeats "inflate" the dataset so those odd buckets can participate.
--------------------
This blows me away. Love learning!!!
leisure_suit_larry That summarizes it. Repeats are also useful for "weighing" certain datasets over others if there are multiple datasets defined. It's amazing what can be learned in a penis lora comment section.
LocalOptima This is most useful with a diverse dataset yeah? Can I ask how many poses/angles you have in the 23 videos?
KinkMaster Poses are mostly similar. There are some slight variations in angle and distance from the subject. There is a lot of variation in the action. The LoRa seems to have learned an action that is only present in one of the examples very well.
can you share "penis reveal" lora?
yes please it was deleted
DM me.
I would like that one too. ^_^
@LocalOptima can I get it too please??
@LocalOptima please ❤
Finally! This is the missing piece!
Very cool!! Will you make an 2tv version?
This works okay with wan 2.2 i2v
How are you getting it to work with 2.2? It throws a "lora not loaded"
I don't really get desirable behavior with wan 2.2. The lora clearly does something, but it doesn't swing naturally like this version
Are you planning a Wan2.2 version? Or if you wanted to share your dataset with me I will happily training a Wan2.2 version for you.
Let him train.
For wan 2.2 please 🥺
Details
Files
wan2.1-i2v-480p-flaccid-v1.0.safetensors
Mirrors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
153_flaccid.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
FlaccidPenis.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
Futanari - Flaccid Penis.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
Flaccid Penis LOW - Wan2.2 - penis,bounce,swing,She is shaking her hips and making her penis swing back and forth.safetensors
Flaccid Penis LOW - Wan2.2 - penis,bounce,swing,She is shaking her hips and making her penis swing back and forth.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors
FlaccidPenis.safetensors
wan2.1-i2v-480p-flaccid-v1.0.safetensors