swordfish said:
Not sure if this is helpful, but the webui has a option that can be enabled: "Add model name to generation information" which is off by default. ("Add model hash to generation information" is enabled by default)
If you suggest to enable this on the upload page and store the model name + hash from all uploads it should be possible to get most model hashes matched after some time as just a few people using this should be enough to collect hashes.
I think this uses the filename of the ckpt though i haven't tested it yet, so it might be a good idea to store all "seen" name + hash combinations and use the most used one as name?
Maybe this would be a good base to think of a possible solution. Maybe it would even be possible to add links to the model downloads for the most popular ones.
If I am understanding you correctly, you are stating that if we had the names that went with the hashes, we could simply tag the models based on the included hashes. The fundamental problem however, is that the hash listed in the AI Metadata is not in fact a unique identifier. Merged models and models being trained can still retain the same hash as others due to how how small and selective the data being hashed is. Any solution that involves making the included hashes actually unique (or even just more unique) would require upstream changes from the webUIs and GUIs that are including said hashes to begin with.
In short, we can't rely on the current included metadata or output image to identify the model(s) used. Self tagging the model(s) used is the only way to get a name to a model used reliably.
As for whether merged models should simply be called by their common name or list all the models in the mix, I don't know. Nutmegmix uses six models though, so that will be a long model tag list if anyone decides to use it here.
Edit: Actually after thinking about it, individual tags for merged models sound like a good idea if people have to self-tag their uploads anyway. Like antlers anon said above, a list of models with a merged_model tag doesn't really help much, because it says nothing about how those models were used.
For example, two images could use the same models in their mix, same seed, prompt, etc. and appear identical to AIBooru from the tags to the metadata, but be completely different depending on how those models were merged. berry_mix and blackberry_mix both use the same constituent models (novelai, stable_diffusion, zeipher_f222, r34_e4) for a real world example of this happening. Furthermore, berry_mix already gives more information in a single tag than the 5 other tags that are intended to be used instead, and at the same time differentiates posts that may use blackberry_mix which would be intended to use the same 5 tags as berry_mix. Even if berry_mix's wiki isn't filled out, it still shows viewers how the image was generated and what to look up for more. Finally, while it could lead to a lot of rarely used model tags that would only get a few posts, it still would likely be dwarfed by the amount of artist tags being created for every self-uploader on here. Which isn't a knock on self-uploaders, just showing how many rarely used tags are getting created all the time for good reason already anyway.