02 Feb 2023
Classic Negative (SD 2.1 768px v0.2)
I finally managed to train an improved version of my original Classic Negative Model for SD 2.1 768.
The improvements mostly come from better and more accurate captions, as well as a more diverse dataset. I also used some pictures generated with the original version for the training.
I attached a few comparisons between the default 2.1 model, v0.1 and v0.2 I used for evaluating if it actually improved. Compared to the default model, it offers vastly improved lighting, a more pleasing color palette, better depth of field and composition. Compared to v0.1, it improves further on a smooth depth of field fall of and creates slightly more realistic images. The colors are also more in line with what I originally intended.
15 Jan 2023
- Update -
After several failed attempts, I finally managed to train a usable 2.1 version on the same dataset I used for my 1.5 Classic Negative model. I wish I could show you a more diverse set of pictures, but I'm busy creating one cute animal after the other.
for 2:3 aspect ratio images, 1152x768px works really well
for 21:9 aspect ratio images, 1344x576px works really well
Make sure to place the config file into the same folder as the model and make sure they are named exactly the same.
13 Jan 2023
- Original Post -
I'll preface this by saying that I have no idea what I'm doing. Also, this is by no means a complete or perfect model. But after many tries I'm at a point where I'm happy with sharing some pictures and an early version for you to try out.
Classic Negative (SD 1.5)
With Classic Negative I tried to train a model with DreamBooth which closely mimics my style of photography. Its name comes from a built in camera profile in Fujifilm cameras, "Classic Negative". I use a modified version of this profile in basically all of my photos. To mimic my style, the model must achieve the following:
recreate the color profile of classic negative: muted and desaturated greens
introduce faded blacks and diffused highlights (like a Tiffen Glimmerglass Filter would do)
reliably create a nice depth of field effect like you would get with large aperture lenses
improve the composition of the default model (foreground and background objects, framing, point of view)
improve the lighting of the default model
add grain and preferably a slight vignetting
try to recreate the look and feel of old 35mm film photos
Training
For training I used 100 of my personal images, consisting mainly of environmental portraits and photos of my dog, some macro and some landscape shots. The model is probably biased towards forests and garden pictures, since that's where I took the majority of my photos. It seems to be on the verge of being overfitted, in some generated pictures I could clearly make out the general structure of my backyard.
The captions were written manually for all of the photos. Nothing too complicated, here's an example: https://i.imgur.com/prf8VxS.png
I trained for 1800 steps with a learning rate of 1e-5 and 350 text encoder steps using TheLastBen's Fast DreamBooth ipynb.
Prompts & Parameters
The prompts I tried so far are very simple. The activation token is classicnegative
- classicnegative photo of a cute raccoon sitting between bushes in a garden, purple tulip flowers
- classicnegative photo of a cute small red panda sitting on a branch in the jungle
- classicnegative photo of a white fluffy rabbit standing in a garden illuminated by fairy lights, winter, heavy snow, snowflakes
Parameters: Euler A, CFG Scale 7, 30 Steps, 860x360px
I then went seed hunting. Although in a batch of 4 there was at least one usable picture so far. If a good picture was generated, I set the same seed and ran it again with Hires. fix enabled (which takes like 3,5 minutes with my GTX 1070 for one picture).
Hires. fix Parameters: ESRGAN_4x, 30 Steps, 0.3 Denoising, Upscale by 2
I discovered this by accident, but using these settings the picture stays exactly the same and all the film photo characteristics like the grain won't get lost during upscaling.
If the effect of the model is too strong, try adding tokens like sharp focus, high contrast, clarity to your prompt. Or just increase the contrast in post. But yes, sometimes it becomes a bit too much, I'll have to take a look into it for a future revision.
What's next
more testing is needed, different parameters and subjects
create a SD2.1 768px version
finetuning
Please feel free to try the model out, test its limitations and if you have any advice on how I can create a better version of it, please let me know ;)
Description
version 0.2 - refer to the main description about the changes & improvements
FAQ
Comments (23)
please relase a safetensor file :)
Yeah, really. Ideally, .ckpt files should be wiped out from the face of the Earth.
@TernaryM01 Why? I'm new to this btw
@Pacomer Because they are unsafe. Opening a .ckpt file triggers whatever Python bytecode instruction is put into it. It can spread virus and destroy your computer. The only reason why distributing .ckpt files is still not considered a crime is that some tools such as InvokeAI still don't support .safetensors files.
You should only ever open a .ckpt file if it is from a trusted source (the only example of which that I can think of is the scenario where you created the file yourself). There is a .ckpt file scanner to detect virus, but in order to analyze a .ckpt file using it again you have to allow the code to run. You cannot read it without running it. So, even if equipped with the scanner, you should only open the file in a virtual machine.
@TernaryM01 what it's actually can do? I mean malicious model. Doesn't seems like neither automatic, nor NMKD GUI starts up as admin. If there even was any real cases of malicious SD models that did something?
yes. dont know why people bother with ckpt files. just way too risky. i agree, they should be nuked
Im not sure what Im doing wrong, but I used the same seed, resolution and everything, but cant get the same result anyhow.
Link in comment
Please help
@edmondyang Do you run the model locally or on Google colab? The pictures were generated on colab and I noticed that the output can be slightly different depending on which method you use.
@BudFactory yes, I do locally. but even all the hashes and everything is the same, it should be the same output, no?
Use vae mse
@choozzy tried. didnt work :(
@choozzy I maybe wrong, but I thing I've heard that 2.1 based models don't need VAE, or can't even run with VAE. Correct me if I mistaken.
I've tried do skull in snow, wasn't able to get same output either.
Safetensors format, please.
Somehow, I can't get it working. I placed the model and config file together, their names are the same, but I get black canvas all the time. What should I do?
maybe image size is off? are you using at least 768 which is required for a 2.1 model
@ovalshrimp I'm trying on image size of 768x768 :(
@littlestudyo276 Try this: go to the settings tab in the ui, select "Stable Diffusion" on the left hand side, then scroll all the way down and click the box that says "Upcast cross attention layer to float32" scroll back up, click "apply settings", and then click "reload ui" now, try and generate an image.
How do I use it with ControlNet? He always reports an error “stable-difusion mat1 and mat2 shapes cannot be multiplied”
Why is this url after downloading this config file
Safetensor file pls. this should be standard by now
Took me a while to realize it's not a negative prompt embedding...
Details
Files
classicnegative768px-v0.2.yaml
Mirrors
Old_Portraits.yaml
Mangled_Merge_V3.yaml
illuminatidiffusion_v1.1.yaml
URPM_2.1_V2.yaml
KitchenSink2nsfw.yaml
SD2.1_MilfShaper_v1.0(FP16).yaml
PXL8V1.yaml
ultraskin.yaml
graphic-art-1_1.yaml
djzGrimKnightsV21_0.yaml
Cthugha.yaml
ZphyrInsanity.yaml
PseudoFreedomMerge.yaml
wd15-beta2-halo-aesthetic.yaml
CharHelperV4.yaml
CharHelper Fine-Tuned.yaml
graphic-art.yaml
macarolus2.yaml
oxigien_v20_lite.yaml
oxigien_v20_Lite.yaml
SDArt_synesthesia768.yaml
ZphyrPortraits.yaml
ZphyrRemember.yaml
AllureAI_batch4_v03-ep220.yaml
SDArt_UnmythicalCreatures768.yaml
CharHelper_v1_ SDv2_1_768_step_3500.yaml
CharHelper_v2_ SDv2_1_768_step_8500.yaml
SDArt_Encapsulated768.yaml
pretty-girls-next-door-v5.1.yaml
pretty_girls_next_door_v6.0.yaml
KitchenSinkVer1.8L.yaml
rMadaSD21_v6.yaml
oxigien_v20_Epic.yaml
dragonportrait-sd21-768-v1.yaml
ArtiusV2.1.yaml
sticker-v1.yaml
PRMJ.yaml
yai-2.2.14.yaml
yai2.2.20.yaml
vector-art.yaml
concept-sheet.yaml
djzInkPunkV21.yaml
naturitize-SD2.1-768px.yaml
comodel2.yaml
clayitization-SD2.1-768px.yaml
food_crit-SD2.1-768px.yaml
wooditize-SD2.1-768px.yaml
CharHelperV3.yaml
3DMDT1.yaml
perpetual-v1-moon.yaml
pulp-vector.yaml
KitchenSink2safe.yaml
KitchenSink2safeFP16.yaml
djzDivineStatueV21.yaml
Ushio_Anime_V1.yaml
yai2.2.20.yaml
URPM_2.1_V1.yaml
realismEngine_v10.yaml
KitchenSinkVer1.8.yaml
pretty_girls_next_door_v9_0.yaml
dragonportrait-sd21-768-v2.yaml
UltraCmodel.yaml
yai-2.2.20-F.yaml
wd-beta3-base-fp16.yaml
SDArt_AliceInDiffusionLand768.yaml
SDArt_CosmicHorrors768.yaml
oxigien_v20_ultra.yaml
woolitize-SD2.1-768px.yaml
A-to-Zovya_RPG_Artist_Tools_21_V1.yaml
pulp-diffusion.yaml
classicnegative768px-v0.2.yaml
yai-2.2.14.yaml
YAI2.3.22.yaml
imagineV41_v10.yaml
BoW-config.yaml
SDArt_v1.yaml
SDArt_v2_768.yaml
pretty-girls-next-door-v1.yaml
pretty_girls_next_door_v2.yaml
Mangled_Merge_V2.yaml
SDArt_ChaosAndOrder768.yaml
pretty_girls_next_door_v7_0.yaml
pretty_girls_next_door_v8_0.safetensors.yaml
Available On (1 platform)
Same model published on other platforms. May have additional downloads or version variants.
















