Version 1.2:
Further training, expanded the dataset even more. Some concepts still need further training, but here's a list of some of the terms that work well:
anus
blowjob
deepthroat
braless
cowgirl position
cum
cunnilingus
dildo
doggystyle position
fingering
hand in panties
handjob
implied blowjob
ipcam
masturbating (might want to put penis in negative prompt, or specify what she's rubbing for women)
massage
missionary position
naked, nude, etc.
penis
prone position
reverse cowgirl position
sex
sheer
snapchat (and caption/text/etc)
selfie (and mirror selfie)
spooning position
strap-on dildo
tentacles
licking testicles
undressing
vagina
Note that the list is not exhaustive at all. It was trained on natural language (and that's how you should prompt!), so many concepts are in there.
Also, I see a lot of people mixing this with other NSFW general loras. I'd recommend you try it by itself first.
Note: While you can use the lightning lora with this, keep in mind it won't lead to the best results. It's great for testing prompts, but it tends to mess with anatomy, smooth out texture, and lead to less variation on the same prompt.
Version 1:
This past weekend I was gone. I decided to let my 5090 chug along making a lokr for Qwen on ~5,000 hand fixed captions on sex, nudes, and other fun stuff of hand picked images with hand removed watermarks. I wasn't expecting it to get so good so quickly, so I did a few more night's worth of training. I'll do some additional training at some point here but it's already good enough to play around with.
It can do basic sex positions, blowjobs, cum, selfies, dildos, snapchat selfies with captions, etc. Female genitals are still a bit hit and miss, male genitals aren't bad. With it being a lokr and it being trained on so many images it's wildly flexible and can be used with perfect likeness of other loras.
Note that sometimes it'll do the wrong sex position even if you name it, and I'm unsure why as the captions have no errors. It will perhaps clear up a bit with more training.
I used Musubi Tuner and it was a heck of time getting it to train a lokr. I had to use another lycoris library for it (which is somewhere in the issues on the github page, IIRC), but it's possible the main one has Qwen support by now. Here are my training settings, though note that I reduced my LR over time and I also started with sigmoid timestep sampling. I was training at 640x640 and 1328x1328 buckets:
accelerate launch --num_cpu_threads_per_process 1 --mixed_precision bf16 src\musubi_tuner\qwen_image_train_network.py `
--dit Q:\AI\Models\DiffusionModels\qwen_image_bf16.safetensors `
--vae Q:\AI\Models\VAE\qwen_vae_for_training.safetensors `
--text_encoder Q:\AI\Models\CLIP\qwen_2.5_vl_7b.safetensors `
--dataset_config S:\AI\Musubi\datasetWoman.toml `
--sdpa --mixed_precision bf16 `
--gradient_accumulation_steps 4 `
--timestep_sampling qinglong_qwen `
--optimizer_type adamw8bit `
--learning_rate 3e-4 --lr_scheduler linear --lr_scheduler_min_lr_ratio=1e-5 --lr_warmup_steps 150 `
--blocks_to_swap 25 `
--gradient_checkpointing --gradient_checkpointing_cpu_offload --max_data_loader_n_workers 2 --persistent_data_loader_workers `
--network_module lycoris.kohya `
--network_args "algo=lokr" "factor=10" "bypass_mode=False" "use_fnmatch=True" "target_module=Linear" `
"target_name=unet.transformer_blocks.*.attn.to_q" `
"target_name=unet.transformer_blocks.*.attn.to_k" `
"target_name=unet.transformer_blocks.*.attn.to_v" `
"target_name=unet.transformer_blocks.*.attn.to_out.0" `
"target_name=unet.transformer_blocks.*.attn.add_q_proj" `
"target_name=unet.transformer_blocks.*.attn.add_k_proj" `
"target_name=unet.transformer_blocks.*.attn.add_v_proj" `
"target_name=unet.transformer_blocks.*.attn.to_add_out" `
"target_name=unet.transformer_blocks.*.img_mlp.net.0.proj" `
"target_name=unet.transformer_blocks.*.img_mlp.net.2" `
--network_dim 1000000000 `
--save_every_n_steps 250 --max_train_epochs 10--logging_dir=logs `
--output_dir Q:/AI/Models/Trained/Loras/Musubi/QwenWoman --output_name WomanGirls
Description
Further training