rohitgandikota / erasing

Erasing Concepts from Diffusion Models
https://erasing.baulab.info
MIT License
552 stars 34 forks source link

Erasing multiple concepts. #34

Open JiteshRajpal opened 1 week ago

JiteshRajpal commented 1 week ago

First off, I want to say a big thank you to @rohitgandikota for the code – it was super helpful and worked really well for me! 🙌 I'm currently working on erasing multiple concepts from my model (for example: cat, dog, lion, tiger, etc.) and had a couple of questions on best practices:

Handling Multiple Concepts: Is there a specific way to erase multiple concepts at once? Should I list all the concepts in one prompt, separated by commas? Or is it more effective to erase each concept individually?

File Format: After erasing a concept, I noticed that the generated file is saved in .pt format. To ensure compatibility, should I convert these .pt files into .ckpt format, or is it okay to keep them as .pt?

Any guidance on the above would be really appreciated! Thanks in advance for the help!

rohitgandikota commented 1 week ago

Oh good question! Ideally you should be able to handle it in a single erasure run. (The previous code managed that case, the current code doesn't). It should be easy to implement it. The idea is that during training, you can sample a different concept from the list of concepts you want to erase. This should do the trick

Regarding .pt file - you can convert it to any format, but ensure that you also change the load code accordingly (if needed)