{"id":13624996,"url":"https://github.com/JoePenna/Dreambooth-Stable-Diffusion","last_synced_at":"2025-04-16T01:33:13.427Z","repository":{"id":60147395,"uuid":"537940881","full_name":"JoePenna/Dreambooth-Stable-Diffusion","owner":"JoePenna","description":"Implementation of Dreambooth (https://arxiv.org/abs/2208.12242) by way of Textual Inversion (https://arxiv.org/abs/2208.01618) for Stable Diffusion (https://arxiv.org/abs/2112.10752). Tweaks focused on training faces, objects, and styles.","archived":false,"fork":false,"pushed_at":"2024-01-08T12:23:45.000Z","size":17602,"stargazers_count":3217,"open_issues_count":11,"forks_count":553,"subscribers_count":39,"default_branch":"main","last_synced_at":"2025-04-13T16:53:41.114Z","etag":null,"topics":["ai","artificial-intelligence","image-generation","img2img","latent-diffusion","machine-learning","model-training","stable-diffusion","txt2img"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"XavierXiao/Dreambooth-Stable-Diffusion","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoePenna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-09-17T22:05:03.000Z","updated_at":"2025-04-12T19:54:51.000Z","dependencies_parsed_at":"2024-04-16T17:18:36.201Z","dependency_job_id":null,"html_url":"https://github.com/JoePenna/Dreambooth-Stable-Diffusion","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoePenna%2FDreambooth-Stable-Diffusion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoePenna%2FDreambooth-Stable-Diffusion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoePenna%2FDreambooth-Stable-Diffusion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoePenna%2FDreambooth-Stable-Diffusion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoePenna","download_url":"https://codeload.github.com/JoePenna/Dreambooth-Stable-Diffusion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249182498,"owners_count":21226077,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","artificial-intelligence","image-generation","img2img","latent-diffusion","machine-learning","model-training","stable-diffusion","txt2img"],"created_at":"2024-08-01T21:01:49.422Z","updated_at":"2025-04-16T01:33:13.420Z","avatar_url":"https://github.com/JoePenna.png","language":"Jupyter Notebook","readme":"\n# Extended Dreambooth How-To Guides by Yushan\n[For Running On Vast.ai](https://medium.com/@yushantripleseven/dreambooth-training-joepenna-on-vast-ai-5f1018239820)\u003cbr\u003e\n[For Running On Google Colab](https://medium.com/@yushantripleseven/dreambooth-training-joepenna-on-google-colab-63ec6e6cf050)\u003cbr\u003e\n[For Running On a Local PC (Windows)](https://medium.com/@yushantripleseven/dreambooth-training-joepenna-on-a-local-pc-windows-f00a4fd11dfd)\u003cbr\u003e\n[For Running On a Local PC (Ubuntu)](https://medium.com/@yushantripleseven/dreambooth-training-joepenna-on-a-local-pc-ubuntu-a2bf796430d2)\u003cbr\u003e\n[Adapting Corridor Digital's Dreambooth Tutorial To JoePenna's Repo](https://medium.com/@yushantripleseven/adapting-corridor-digitals-dreambooth-tutorial-to-joepenna-s-repo-d82bfbe0bfd2)\u003cbr\u003e\n[Using Captions in JoePenna's Dreambooth](https://medium.com/@yushantripleseven/using-captions-with-dreambooth-joepenna-dreambooth-716f5b9e9866)\u003cbr\u003e\n\n# Index\n\n- [Notes by Joe Penna](#notes-by-joe-penna)\n- [Setup](#setup)\n  - [Easy RunPod Instructions](#easy-runpod-instructions)\n  - [Vast.AI Setup](#vast-ai-setup)\n  - [Run Locally](#running-locally)\n    - [venv](#running-locally-venv)\n    - [Conda](#running-locally-conda)\n  - [Configuration File and Command Line Reference](#config-file-and-command-line-reference)\n- [Captions \u0026 Multiple Subject/Concept Support](#captions-and-multi-concept)\n- [Textual Inversion vs. Dreambooth](#text-vs-dreamb)\n- [Using the Generated Model](#using-the-generated-model)\n- [Debugging Your Results](#debugging-your-results)\n  - [They don't look like you at all!](#they-dont-look-like-you)\n  - [They sorta look like you, but exactly like your training images](#they-sorta-look-like-you-but-exactly-like-your-training-images)\n  - [They look like you, but not when you try different styles](#they-look-like-you-but-not-when-you-try-different-styles)\n- [Hugging Face Diffusers](#hugging-face-diffusers)\n\n# The Repo Formerly Known As \"Dreambooth\"\n![image](https://user-images.githubusercontent.com/100188076/192390551-cb89364f-af57-4aed-8f3d-f9eb9b61cf95.png)\n\n## \u003ca name=\"notes-by-joe-penna\"\u003e\u003c/a\u003e  Notes by Joe Penna\n### **INTRODUCTIONS!**\nHi! My name is Joe Penna.\n\nYou might have seen a few YouTube videos of mine under *MysteryGuitarMan*. I'm now a feature film director. You might have seen [ARCTIC](https://www.youtube.com/watch?v=N5aD9ppoQIo\u0026t=6s) or [STOWAWAY](https://www.youtube.com/watch?v=A_apvQkWsVY).\n\nFor my movies, I need to be able to train specific actors, props, locations, etc. So, I did a bunch of changes to @XavierXiao's repo in order to train people's faces.\n\nI can't release all the tests for the movie I'm working on, but when I test with my own face, I release those on my Twitter page - [@MysteryGuitarM](https://twitter.com/MysteryGuitarM).\n\nLots of these tests were done with a buddy of mine -- Niko from CorridorDigital. It might be how you found this repo!\n\nI'm not really a coder. I'm just stubborn, and I'm not afraid of googling. So, eventually, some really smart folks joined in and have been contributing. In this repo, specifically: [@djbielejeski](https://github.com/djbielejeski) @gammagec @MrSaad –– but so many others in our Discord!\n\nThis is no longer my repo. This is the people-who-wanna-see-Dreambooth-on-SD-working-well's repo!\n\nNow, if you wanna try to do this... please read the warnings below first:\n\n### **WARNING!**\n\n- Let's respect the hard work and creativity of people who have spent years honing their skills.\n  - This iteration of Dreambooth was specifically designed for digital artists to train their own characters and styles into a Stable Diffusion model, as well as for people to train their own likenesses. My main goal is to make a tool for filmmakers to interact with concept artists that they've hired -- to generate the seed of an initial idea, so that they can then communicate visually. Meant to be used by filmmakers, concept artists, comic book designers, etc.\n  - One day, there'll be a Stable Diffussion trained on perfect datasets. In the meantime, for moral / ethical / potentially legal reasons, I strongly discourage training someone else's art into these model (unless you've obtained explicit permission, or they've made a public statement about this technology). For similar reasons, I recommend against using artists' names in your prompts. Don't put the people who made this possible out of the job!\n\n- Onto the technical side:\n  - You can now run this on a GPU with **24GB of VRAM** (e.g. 3090). Training will be slower, and you'll need to be sure this is the *only* program running.\n  - If, like myself, you don't happen to own one of those, I'm including a Jupyter notebook here to help you run it on a rented cloud computing platform. \n  - It's currently tailored to [runpod.io](https://runpod.io?ref=n8yfwyum) and [vast.ai](http://console.vast.ai/?ref=47390) \n  - We do support a colab notebook as well: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JoePenna/Dreambooth-Stable-Diffusion/blob/main/dreambooth_google_colab_joepenna.ipynb)\n  \n- This implementation does not fully implement Google's ideas on how to preserve the latent space.\n\n  - Most images that are similar to what you're training will be shifted towards that.\n  - e.g. If you're training a person, all people will look like you. If you're training an object, anything in that class will look like your object.\n\n- There doesn't seem to be an easy way to train two subjects consecutively. You will end up with an `11-12GB` file before pruning.\n  - The provided notebook has a pruner that crunches it down to `~2gb`\n  \n- Best practice is to change the **token** to a celebrity name (*note: token, not class* -- so your prompt would be something like: `Chris Evans person`). Here's [my wife trained with the exact same settings, except for the token](#using-the-generated-model)\n\n\n# \u003ca name=\"setup\"\u003e\u003c/a\u003e Setup\n## \u003ca name=\"easy-runpod-instructions\"\u003e\u003c/a\u003e Easy RunPod Instructions\n\n**Note Runpod periodically upgrades their base Docker image which can lead to repo not working. None of the Youtube videos are up to date but you can still follow them as a guide. Follow along the typical Runpod Youtube videos/tutorials, with the following changes:**\n\nFrom within the My Pods page,\n\n- Click the menu button (to the left of the purple play button)\n- Click Edit Pod\n- Update \"Docker Image Name\" to one of the following (tested 2023/06/27):\n  - `runpod/pytorch:3.10-2.0.1-120-devel`\n  - `runpod/pytorch:3.10-2.0.1-118-runtime`\n  - `runpod/pytorch:3.10-2.0.0-117`\n  - `runpod/pytorch:3.10-1.13.1-116`\n- Click Save.\n- Restart your pod\n\n### Carry on with the rest of the guide:\n\n- Sign up for RunPod. Feel free to use my [referral link here](https://runpod.io?ref=n8yfwyum), so that I don't have to pay for it (but you do).\n- After logging in, select either `SECURE CLOUD` or `COMMUNITY CLOUD`\n- Make sure you find a \"High\" interent speed so you're not wasting time and money on slow downloads\n- Select something with at **least 24gb VRAM** like RTX 3090, RTX 4090 or RTX A5000\n\n- Follow these video instructions below:\n\n[![VIDEO INSTRUCTIONS](https://img.youtube.com/vi/7m__xadX0z0/0.jpg)](https://www.youtube.com/watch?v=7m__xadX0z0#t=5m33.1s)\n\n## \u003ca name=\"vast-ai-setup\"\u003e\u003c/a\u003e  Vast.AI Instructions\n- Sign up for [Vast.AI](http://console.vast.ai/?ref=47390) (Referral Links by David Bielejeski)\n- Add some funds (I typically add them in $10 increments)\n- Navigate to the [Client - Create page](https://vast.ai/console/create/?ref=47390)\n  - Select pytorch/pytorch as your docker image, and the buttons \"Use Jupyter Lab Interface\" and \"Jupyter direct HTTPS\"\n  - ![img.png](readme-images/vast-ai-step1-select-docker-image.png)\n- You will want to increase your disk space, and filter on GPU RAM (2GB checkpoint files + 2-8GB model file + regularization images + other stuff adds up fast)\n  - I typically allocate 150GB\n  - ![img.png](readme-images/vast-ai-step2-instance-filters.png)\n  - Also good to check the Upload/Download speed for enough bandwidth so you don't spend all your money waiting for things to download.\n- Select the instance you want, and click `Rent`, then head over to your [Instances](https://vast.ai/console/instances/?ref=47390) page and click `Open`\n  - ![img.png](readme-images/vast-ai-step3-instances.png)\n  - You will get an unsafe certificate warning. Click past the warning or install the [Vast cert](https://vast.ai/static/jvastai_root.cer).\n- Click `Notebook -\u003e Python 3` (You can do this next step a number of ways, but I typically do this)\n  - ![img.png](readme-images/vast-ai-step4-get-repo.png)\n- Clone Joe's repo with this command\n  - `!git clone https://github.com/JoePenna/Dreambooth-Stable-Diffusion.git`\n  - Click `run`\n  - ![img.png](readme-images/vast-ai-step5-clone-repo.png)\n- Navigate into the new `Dreambooth-Stable-Diffusion` directory on the left and open either the `dreambooth_simple_joepenna.ipynb` or `dreambooth_runpod_joepenna.ipynb` file\n  - ![img.png](readme-images/vast-ai-step6-open-notebook.png)\n- Follow the instructions in the workbook and start training\n\n## \u003ca name=\"running-locally\"\u003e\u003c/a\u003e Running Locally Instructions\n\n### \u003ca name=\"running-locally-venv\"\u003e\u003c/a\u003e Setup - Virtual Environment\n\n### Pre-Requisites\n1. [Git](https://gitforwindows.org/)\n2. [Python 3.10](https://www.python.org/downloads/)\n3. Open `cmd`\n4. Clone the repository\n   1. `C:\\\u003egit clone https://github.com/JoePenna/Dreambooth-Stable-Diffusion`\n5. Navigate into the repository\n   1. `C:\\\u003ecd Dreambooth-Stable-Diffusion`\n\n### Install Dependencies and Activate Environment\n```cmd\ncmd\u003e python -m venv dreambooth_joepenna\ncmd\u003e dreambooth_joepenna\\Scripts\\activate.bat\ncmd\u003e pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117\ncmd\u003e pip install -r requirements.txt\n```\n\n#### Run\n`cmd\u003e python \"main.py\" --project_name \"ProjectName\" --training_model \"C:\\v1-5-pruned-emaonly-pruned.ckpt\" --regularization_images \"C:\\regularization_images\" --training_images \"C:\\training_images\" --max_training_steps 2000 --class_word \"person\" --token \"zwx\" --flip_p 0 --learning_rate 1.0e-06 --save_every_x_steps 250`\n\n#### Cleanup\n```cmd\ncmd\u003e deactivate \n```\n\n### \u003ca name=\"running-locally-conda\"\u003e\u003c/a\u003e  Setup - Conda\n\n### Pre-Requisites\n1. [Git](https://gitforwindows.org/)\n2. [Python 3.10](https://www.python.org/downloads/)\n2. [miniconda3](https://docs.conda.io/en/latest/miniconda.html)\n3. Open `Anaconda Prompt (miniconda3)`\n4. Clone the repository\n   1. `(base) C:\\\u003egit clone https://github.com/JoePenna/Dreambooth-Stable-Diffusion`\n5. Navigate into the repository\n   1. `(base) C:\\\u003ecd Dreambooth-Stable-Diffusion`\n\n### Install Dependencies and Activate Environment\n\n```cmd\n(base) C:\\Dreambooth-Stable-Diffusion\u003e conda env create -f environment.yaml\n(base) C:\\Dreambooth-Stable-Diffusion\u003e conda activate dreambooth_joepenna\n```\n\n##### Run\n`cmd\u003e python \"main.py\" --project_name \"ProjectName\" --training_model \"C:\\v1-5-pruned-emaonly-pruned.ckpt\" --regularization_images \"C:\\regularization_images\" --training_images \"C:\\training_images\" --max_training_steps 2000 --class_word \"person\" --token \"zwx\" --flip_p 0 --learning_rate 1.0e-06 --save_every_x_steps 250`\n\n##### Cleanup\n```cmd\ncmd\u003e conda deactivate\n```\n\n# \u003ca name=\"config-file-and-command-line-reference\"\u003e\u003c/a\u003e  Configuration File and Command Line Reference\n\n## Example Configuration File\n\n```\n{\n    \"class_word\": \"woman\",\n    \"config_date_time\": \"2023-04-08T16-54-00\",\n    \"debug\": false,\n    \"flip_percent\": 0.0,\n    \"gpu\": 0,\n    \"learning_rate\": 1e-06,\n    \"max_training_steps\": 3500,\n    \"model_path\": \"D:\\\\stable-diffusion\\\\models\\\\v1-5-pruned-emaonly-pruned.ckpt\",\n    \"model_repo_id\": \"\",\n    \"project_config_filename\": \"my-config.json\",\n    \"project_name\": \"\u003ctoken\u003e project\",\n    \"regularization_images_folder_path\": \"D:\\\\stable-diffusion\\\\regularization_images\\\\Stable-Diffusion-Regularization-Images-person_ddim\\\\person_ddim\",\n    \"save_every_x_steps\": 250,\n    \"schema\": 1,\n    \"seed\": 23,\n    \"token\": \"\u003ctoken\u003e\",\n    \"token_only\": false,\n    \"training_images\": [\n        \"001@a photo of \u003ctoken\u003e looking down.png\",\n        \"002-DUPLICATE@a close photo of \u003ctoken\u003e smiling wearing a black sweatshirt.png\",\n        \"002@a photo of \u003ctoken\u003e wearing a black sweatshirt sitting on a blue couch.png\",\n        \"003@a photo of \u003ctoken\u003e smiling wearing a red flannel shirt with a door in the background.png\",\n        \"004@a photo of \u003ctoken\u003e wearing a purple sweater dress standing with her arms crossed in front of a piano.png\",\n        \"005@a close photo of \u003ctoken\u003e with her hand on her chin.png\",\n        \"005@a photo of \u003ctoken\u003e with her hand on her chin wearing a dark green coat and a red turtleneck.png\",\n        \"006@a close photo of \u003ctoken\u003e.png\",\n        \"007@a close photo of \u003ctoken\u003e.png\",\n        \"008@a photo of \u003ctoken\u003e wearing a purple turtleneck and earings.png\",\n        \"009@a close photo of \u003ctoken\u003e wearing a red flannel shirt with her hand on her head.png\",\n        \"011@a close photo of \u003ctoken\u003e wearing a black shirt.png\",\n        \"012@a close photo of \u003ctoken\u003e smirking wearing a gray hooded sweatshirt.png\",\n        \"013@a photo of \u003ctoken\u003e standing in front of a desk.png\",\n        \"014@a close photo of \u003ctoken\u003e standing in a kitchen.png\",\n        \"015@a photo of \u003ctoken\u003e wearing a pink sweater with her hand on her forehead sitting on a couch with leaves in the background.png\",\n        \"016@a photo of \u003ctoken\u003e wearing a black shirt standing in front of a door.png\",\n        \"017@a photo of \u003ctoken\u003e smiling wearing a black v-neck sweater sitting on a couch in front of a lamp.png\",\n        \"019@a photo of \u003ctoken\u003e wearing a blue v-neck shirt in front of a door.png\",\n        \"020@a photo of \u003ctoken\u003e looking down with her hand on her face wearing a black sweater.png\",\n        \"021@a close photo of \u003ctoken\u003e pursing her lips wearing a pink hooded sweatshirt.png\",\n        \"022@a photo of \u003ctoken\u003e looking off into the distance wearing a striped shirt.png\",\n        \"023@a photo of \u003ctoken\u003e smiling wearing a blue beanie holding a wine glass with a kitchen table in the background.png\",\n        \"024@a close photo of \u003ctoken\u003e looking at the camera.png\"\n    ],\n    \"training_images_count\": 24,\n    \"training_images_folder_path\": \"D:\\\\stable-diffusion\\\\training_images\\\\24 Images - captioned\"\n}\n```\n\n### Using your configuration for training\n\n```\npython \"main.py\" --config_file_path \"path/to/the/my-config.json\"\n```\n\n## Command Line Parameters\n\n[dreambooth_helpers\\arguments.py](https://github.com/JoePenna/Dreambooth-Stable-Diffusion/blob/main/dreambooth_helpers/arguments.py)\n\n| Command | Type | Example | Description |\n| ------- | ---- | ------- | ----------- |\n| `--config_file_path` | string | `\"C:\\\\Users\\\\David\\\\Dreambooth Configs\\\\my-config.json\"` | The path the configuration file to use |\n| `--project_name` | string | `\"My Project Name\"` | Name of the project |\n| `--debug` | bool | `False` | *Optional* Defaults to `False`. Enable debug logging |\n| `--seed` | int | `23` | *Optional* Defaults to `23`. Seed for seed_everything |\n| `--max_training_steps` | int | `3000` | Number of training steps to run |\n| `--token` | string | `\"owhx\"` | Unique token you want to represent your trained model. |\n| `--token_only` | bool | `False` | *Optional* Defaults to `False`. Train only using the token and no class. |\n| `--training_model` | string | `\"D:\\\\stable-diffusion\\\\models\\\\v1-5-pruned-emaonly-pruned.ckpt\"` | Path to model to train (model.ckpt) |\n| `--training_images` | string | `\"D:\\\\stable-diffusion\\\\training_images\\\\24 Images - captioned\"` | Path to training images directory |\n| `--regularization_images` | string | `\"D:\\\\stable-diffusion\\\\regularization_images\\\\Stable-Diffusion-Regularization-Images-person_ddim\\\\person_ddim\"` | Path to directory with regularization images |\n| `--class_word` | string | `\"woman\"` | Match class_word to the category of images you want to train. Example: `man`, `woman`, `dog`, or `artstyle`. |\n| `--flip_p` | float | `0.0` | *Optional* Defaults to `0.5`. Flip Percentage. Example: if set to `0.5`, will flip (mirror) your training images 50% of the time. This helps expand your dataset without needing to include more training images. This can lead to worse results for face training since most people's faces are not perfectly symmetrical. |\n| `--learning_rate` | float | `1.0e-06` | *Optional* Defaults to `1.0e-06` (0.000001). Set the learning rate. Accepts scientific notation. |\n| `--save_every_x_steps` | int | `250` | *Optional* Defaults to `0`. Saves a checkpoint every x steps.   At `0` only saves at the end of training when `max_training_steps` is reached. |\n| `--gpu` | int | `0` | *Optional* Defaults to `0`. Specify a GPU other than 0 to use for training.  Multi-GPU support is not currently implemented.\n\n### Using your configuration for training\n\n```\npython \"main.py\" --project_name \"My Project Name\" --max_training_steps 3000 --token \"owhx\" --training_model \"D:\\\\stable-diffusion\\\\models\\\\v1-5-pruned-emaonly-pruned.ckpt\" --training_images \"D:\\\\stable-diffusion\\\\training_images\\\\24 Images - captioned\" --regularization_images \"D:\\\\stable-diffusion\\\\regularization_images\\\\Stable-Diffusion-Regularization-Images-person_ddim\\\\person_ddim\" --class_word \"woman\" --flip_p 0.0 --save_every_x_steps 500\n```\n\n# \u003ca name=\"captions-and-multi-concept\"\u003e\u003c/a\u003e  Captions and Multiple Subject/Concept Support\n\nCaptions are supported.  Here is the [guide](https://discord.com/channels/1023277529424986162/1029222282511515678) on how we implemented them.\n\nLet's say that your token is effy and your class is person, your data root is /train then:\n\n`training_images/img-001.jpg` is captioned with `effy person`\n\nYou can customize the captioning by adding it after a `@` symbol in the filename.\n\n`/training_images/img-001@a photo of effy` =\u003e `a photo of effy`\n\nYou can use two tokens in your captions `S` - uppercase S - and `C` - uppercase C - to indicate subject and class.\n\n`/training_images/img-001@S being a good C.jpg` =\u003e `effy being a good person`\n\nTo create a new subject you just need to create a folder for it. So:\n\n`/training_images/bingo/img-001.jpg` =\u003e `bingo person`\n\nThe class stays the same, but now the subject has changed.\n\nAgain - the token S is now bingo:\n\n`/training_images/bingo/img-001@S is being silly.jpg` =\u003e `bingo is being silly`\n\nOne folder deeper and you can change the class: `/training_images/bingo/dog/img-001@S being a good C.jpg` =\u003e `bingo being a good dog`\n\nNo comes the kicker: one level deeper and you can caption group of images: `/training_images/effy/person/a picture of/img-001.jpg` =\u003e `a picture of effy person`\n\n\n# \u003ca name=\"text-vs-dreamb\"\u003e\u003c/a\u003e  Textual Inversion vs. Dreambooth\nThe majority of the code in this repo was written by Rinon Gal et. al, the authors of the Textual Inversion research paper. Though a few ideas about regularization images and prior loss preservation (ideas from \"Dreambooth\") were added in, out of respect to both the MIT team and the Google researchers, I'm renaming this fork to:\n*\"The Repo Formerly Known As \"Dreambooth\"\"*.\n\nFor an alternate implementation , please see [\"Alternate Option\"](#hugging-face-diffusers) below.\n\n\n# \u003ca name=\"using-the-generated-model\"\u003e\u003c/a\u003e Using the generated model\nThe `ground truth` (real picture, caution: very beautiful woman)\n\u003cbr\u003e\u003cimg src=\"https://user-images.githubusercontent.com/100188076/192403948-8d1d0e50-3e9f-495f-b8ba-1bcb6b536fc8.png\" width=\"200\"\u003e\n\nSame prompt for all of these images below:\n\n| `sks person` | `woman person` | `Natalie Portman person` | `Kate Mara person` |\n| ----- | ------- | ----------------- | ----------- |\n| \u003cimg src=\"https://user-images.githubusercontent.com/100188076/192403506-ab96c652-f7d0-47b0-98fa-267defa1e511.png\" width=\"200\"\u003e | \u003cimg src=\"https://user-images.githubusercontent.com/100188076/192403491-cb258777-5091-4492-a6cc-82305fa729f4.png\" width=\"200\"\u003e | \u003cimg src=\"https://user-images.githubusercontent.com/100188076/192403437-f9a93720-d41c-4334-8901-fa2d2a10fe36.png\" width=\"200\"\u003e | \u003cimg src=\"https://user-images.githubusercontent.com/100188076/192403461-1f6972d9-64d0-46b0-b2ed-737e47aae31e.png\" width=\"200\"\u003e |   \n\n# \u003ca name=\"debugging-your-results\"\u003e\u003c/a\u003e Debugging your results\n### ❗❗ THE NUMBER ONE MISTAKE PEOPLE MAKE ❗❗\n\n**Prompting with just your token. ie \"joepenna\" instead of \"joepenna person\"**\n\n\nIf you trained with `joepenna` under the class `person`, the model should only know your face as:\n\n```\njoepenna person\n```\n\nExample Prompts:\n\n🚫 Incorrect (missing `person` following `joepenna`)\n```\nportrait photograph of joepenna 35mm film vintage glass\n```\n\n✅ This is right (`person` is included after `joepenna`)\n```\nportrait photograph of joepenna person 35mm film vintage glass\n```\n\nYou might sometimes get someone who kinda looks like you with joepenna (especially if you trained for too many steps), but that's only because this current iteration of Dreambooth overtrains that token so much that it bleeds into that token.\n\n---\n\n#### ☢ Be careful with the types of images you train\n\nWhile training, Stable doesn't know that you're a person. It's just going to mimic what it sees.\n\nSo, if these are your training images look like this:\n\n![](readme-images/caution-training.png)\n\nYou're only going to get generations of you outside next to a spiky tree, wearing a white-and-gray shirt, in the style of... well, selfie photograph.\n\nInstead, this training set is much better:\n\n![](readme-images/better-training-images.png)\n\nThe only thing that is consistent between images is the subject. So, Stable will look through the images and learn only your face, which will make \"editing\" it into other styles possible.\n\n## Oh no! You're not getting good generations!\n\n#### \u003ca name=\"they-dont-look-like-you\"\u003e\u003c/a\u003e OPTION 1: They're not looking like you at all! (Train longer, or get better training images)\n\nAre you sure you're prompting it right?\n\nIt should be `\u003ctoken\u003e \u003cclass\u003e`, not just `\u003ctoken\u003e`. For example:\n\n`JoePenna person, portrait photograph, 85mm medium format photo`\n\n\nIf it still doesn't look like you, you didn't train long enough.\n\n----\n\n#### \u003ca name=\"they-sorta-look-like-you-but-exactly-like-your-training-images\"\u003e\u003c/a\u003e OPTION 2: They're looking like you, but are all looking like your training images. (Train for less steps, get better training images, fix with prompting)\n\nOkay, a few reasons why: you might have trained too long... or your images were too similar... or you didn't train with enough images.\n\nNo problem. We can fix that with the prompt. Stable Diffusion puts a LOT of merit to whatever you type first. So save it for later:\n\n`an exquisite portrait photograph, 85mm medium format photo of JoePenna person with a classic haircut`\n\n\n----\n\n#### \u003ca name=\"they-look-like-you-but-not-when-you-try-different-styles\"\u003e\u003c/a\u003e OPTION 3: They're looking like you, but not when you try different styles. (Train longer, get better training images)\n\nYou didn't train long enough...\n\nNo problem. We can fix that with the prompt:\n\n`JoePenna person in a portrait photograph, JoePenna person in a 85mm medium format photo of JoePenna person`\n\n\n### More tips and help here: [Stable Diffusion Dreambooth Discord](https://discord.com/invite/qbMuXBXyHA)\n\n# \u003ca name=\"hugging-face-diffusers\"\u003e\u003c/a\u003e Hugging Face Diffusers - Alternate Option\n\nDreambooth is now supported in HuggingFace Diffusers for training with Stable Diffusion.\n\nTry it out here:\n\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/sd_dreambooth_training.ipynb)\n","funding_links":[],"categories":["Jupyter Notebook","Image Synthesis","图像生成"],"sub_categories":["Inbox: Stable Diffusion","资源传输下载"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoePenna%2FDreambooth-Stable-Diffusion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJoePenna%2FDreambooth-Stable-Diffusion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoePenna%2FDreambooth-Stable-Diffusion/lists"}