Buckets:
| <meta charset="utf-8" /><meta name="hf:doc:metadata" content="{"title":"Управляемая генерация","local":"controlled-generation","sections":[{"title":"InstructPix2Pix","local":"instructpix2pix","sections":[],"depth":2},{"title":"Внимание и возбуждение","local":"attend-and-excite","sections":[],"depth":2},{"title":"Семантическое руководство (SEGA)","local":"semantic-guidance-sega","sections":[],"depth":2},{"title":"Руководство по само-вниманию (SAG)","local":"self-attention-guidance-sag","sections":[],"depth":2},{"title":"Depth2Image","local":"depth2image","sections":[],"depth":2},{"title":"MultiDiffusion Panorama","local":"multidiffusion-panorama","sections":[],"depth":2},{"title":"Доработка собственных моделей","local":"fine-tuning-your-own-models","sections":[],"depth":2},{"title":"DreamBooth","local":"dreambooth","sections":[],"depth":2},{"title":"Textual Inversion","local":"textual-inversion","sections":[],"depth":2},{"title":"ControlNet","local":"controlnet","sections":[],"depth":2},{"title":"Взвешивание промпта","local":"prompt-weighting","sections":[],"depth":2},{"title":"Custom Diffusion","local":"custom-diffusion","sections":[],"depth":2},{"title":"DiffEdit","local":"diffedit","sections":[],"depth":2},{"title":"T2I-Adapter","local":"t2i-adapter","sections":[],"depth":2},{"title":"Fabric","local":"fabric","sections":[],"depth":2}],"depth":1}"/> | |
| <link href="/docs/diffusers/main/en/_app/immutable/entry/start.U6TUchwJ.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/yxSHiGDF.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/CPfOwUO_.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/entry/app.3qKhPoX-.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/BYe-f74j.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/DnVIJfC5.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/DsnmJJEf.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/D32hXVzh.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/nodes/0.DqpuBF3n.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/Dyp9xKq8.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/nodes/18.C9ZZbffC.js" rel="modulepreload"> | |
| <link href="/docs/diffusers/main/en/_app/immutable/chunks/Dk44y1gU.js" rel="modulepreload"> | |
| <!--1v3kjpy--><meta name="hf:doc:metadata" content="{"title":"Controlled generation","local":"controlled-generation","sections":[{"title":"InstructPix2Pix","local":"instructpix2pix","sections":[],"depth":2},{"title":"Attend and Excite","local":"attend-and-excite","sections":[],"depth":2},{"title":"Semantic Guidance (SEGA)","local":"semantic-guidance-sega","sections":[],"depth":2},{"title":"Self-attention Guidance (SAG)","local":"self-attention-guidance-sag","sections":[],"depth":2},{"title":"Depth2Image","local":"depth2image","sections":[],"depth":2},{"title":"MultiDiffusion Panorama","local":"multidiffusion-panorama","sections":[],"depth":2},{"title":"Fine-tuning your own models","local":"fine-tuning-your-own-models","sections":[],"depth":2},{"title":"DreamBooth","local":"dreambooth","sections":[],"depth":2},{"title":"Textual Inversion","local":"textual-inversion","sections":[],"depth":2},{"title":"ControlNet","local":"controlnet","sections":[],"depth":2},{"title":"Prompt Weighting","local":"prompt-weighting","sections":[],"depth":2},{"title":"Custom Diffusion","local":"custom-diffusion","sections":[],"depth":2},{"title":"DiffEdit","local":"diffedit","sections":[],"depth":2},{"title":"T2I-Adapter","local":"t2i-adapter","sections":[],"depth":2},{"title":"Fabric","local":"fabric","sections":[],"depth":2}],"depth":1}"/><!----> | |
| <link href="/docs/diffusers/main/en/_app/immutable/assets/0.tn0RQdqM.css" rel="modulepreload"> <!--[--><!--[0--><!--[--><!--[0--><!--[--><p></p> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: inline-end; margin-inline-start: 10px; display: inline-flex; position: relative; z-index: 10;"><div dir="ltr" class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg><!----></span> <span dir="auto">Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg><!----></button></div> <!--[-1--><!--]--></div><!----> <!--[0--><h1 class="relative group"><a id="controlled-generation" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#controlled-generation"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Управляемая генерация<!----></span></h1><!--]--><!----> <p>Управление выводами, генерируемыми диффузионными моделями, давно является целью сообщества и сейчас представляет собой активную область исследований. Во многих популярных диффузионных моделях незначительные изменения входных данных, как изображений, так и текстовых промптов, могут кардинально влиять на результат. В идеальном мире мы хотели бы иметь возможность контролировать, как семантика сохраняется и изменяется.</p> <p>Большинство примеров сохранения семантики сводятся к возможности точно сопоставить изменение входных данных с изменением выходных. Например, добавление прилагательного к подлежащему в промпте сохраняет весь кадр, изменяя только соответствующий объект. Или же генерация вариаций конкретного объекта сохраняет его позу.</p> <p>Кроме того, существуют характеристики сгенерированных изображений, на которые мы хотели бы влиять помимо сохранения семантики. То есть в целом мы хотим, чтобы наши результаты были высокого качества, соответствовали определённому стилю или выглядели реалистично.</p> <p>Мы опишем некоторые из техник, которые поддерживает <code>diffusers</code> для управления генерацией в диффузионных моделях. Многие из них относятся к передовым исследованиям и могут быть достаточно тонкими. Если что-то требует уточнения или у вас есть предложение, не стесняйтесь открыть <a href="https://github.com/huggingface/diffusers/discussions" rel="nofollow">обсуждение на GitHub</a> или <a href="https://github.com/huggingface/diffusers/issues" rel="nofollow">проблему на GitHub</a>.</p> <p>Мы приводим высокоуровневое объяснение того, как можно управлять процессом генерации, а также краткий технический фрагмент. Для более глубокого понимания технических деталей лучшими источниками информации всегда являются оригинальные статьи, ссылки на которые даны в разделах о конвейерах.</p> <p>В зависимости от задачи следует выбирать соответствующую технику. Во многих случаях эти техники можно комбинировать. Например, можно объединить Textual Inversion и SEGA, чтобы обеспечить более точное семантическое управление выводами, сгенерированными с помощью Textual Inversion.</p> <p>Если не указано иное, это методы, которые работают с существующими моделями и не требуют собственных весов.</p> <ol><li><a href="#instructpix2pix">InstructPix2Pix</a></li> <li><a href="#attend-and-excite">Внимание и возбуждение</a></li> <li><a href="#semantic-guidance-sega">Семантическое управление</a></li> <li><a href="#self-attention-guidance-sag">Руководство по self-attention</a></li> <li><a href="#depth2image">Depth2Image</a></li> <li><a href="#multidiffusion-panorama">MultiDiffusion Panorama</a></li> <li><a href="#dreambooth">DreamBooth</a></li> <li><a href="#textual-inversion">Textual Inversion</a></li> <li><a href="#controlnet">ControlNet</a></li> <li><a href="#prompt-weighting">Взвешивание промптов</a></li> <li><a href="#custom-diffusion">Custom Diffusion</a></li> <li><a href="#diffedit">DiffEdit</a></li> <li><a href="#t2i-adapter">T2I-Adapter</a></li> <li><a href="#fabric">FABRIC</a></li></ol> <p>Для удобства мы приводим таблицу, в которой указано, какие методы предназначены только для инференса, а какие требуют дообучения/обучения.</p> <table><thead><tr><th align="center"><strong>Метод</strong></th><th align="center"><strong>Только вывод</strong></th><th align="center"><strong>Требуется обучение /<br/> дообучение</strong></th><th align="center"><strong>Комментарии</strong></th></tr></thead><tbody><tr><td align="center"><a href="#instructpix2pix">InstructPix2Pix</a></td><td align="center">✅</td><td align="center">❌</td><td align="center">Также можно<br/>дообучить для лучшей <br/>работы с конкретными <br/>инструкциями по редактированию.</td></tr><tr><td align="center"><a href="#attend-and-excite">Внимание и возбуждение</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#semantic-guidance-sega">Семантическое управление</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#self-attention-guidance-sag">Руководство по self-attention</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#depth2image">Depth2Image</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#multidiffusion-panorama">MultiDiffusion Panorama</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#dreambooth">DreamBooth</a></td><td align="center">❌</td><td align="center">✅</td><td align="center"></td></tr><tr><td align="center"><a href="#textual-inversion">Textual Inversion</a></td><td align="center">❌</td><td align="center">✅</td><td align="center"></td></tr><tr><td align="center"><a href="#controlnet">ControlNet</a></td><td align="center">✅</td><td align="center">❌</td><td align="center">ControlNet можно <br/>обучить/дообучить на<br/>собственном условии.</td></tr><tr><td align="center"><a href="#prompt-weighting">Взвешивание промптов</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#custom-diffusion">Custom Diffusion</a></td><td align="center">❌</td><td align="center">✅</td><td align="center"></td></tr><tr><td align="center"><a href="#diffedit">DiffEdit</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#t2i-adapter">T2I-Adapter</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr><tr><td align="center"><a href="#fabric">Fabric</a></td><td align="center">✅</td><td align="center">❌</td><td align="center"></td></tr></tbody></table> <!--[1--><h2 class="relative group"><a id="instructpix2pix" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#instructpix2pix"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->InstructPix2Pix<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2211.09800" rel="nofollow">Статья</a></p> <p><a href="../api/pipelines/pix2pix">InstructPix2Pix</a> дообучен на основе Stable Diffusion для поддержки редактирования входных изображений. В качестве входных данных он принимает изображение и промпт, описывающий требуемое редактирование, а на выходе возвращает отредактированное изображение. | |
| InstructPix2Pix был явно обучен хорошо работать с промптами в стиле <a href="https://openai.com/blog/instruction-following/" rel="nofollow">InstructGPT</a>.</p> <!--[1--><h2 class="relative group"><a id="attend-and-excite" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#attend-and-excite"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Внимание и возбуждение<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2301.13826" rel="nofollow">Статья</a></p> <p>Функция Attend and Excite позволяет объектам, указанным в промпте, быть достоверно представленными на итоговом изображении.</p> <p>В качестве входных данных задаётся набор индексов токенов, соответствующих объектам в промпте, которые должны присутствовать на изображении. В процессе денойзинга для каждого индекса токена гарантируется, что минимальный порог внимания будет достигнут хотя бы для одного патча изображения. Промежуточные латенты итеративно оптимизируются в ходе денойзинга, чтобы усилить внимание к наиболее «забытому» токену объекта, пока порог внимания не будет пройден для всех токенов объектов.</p> <p>Как и Pix2Pix Zero, Attend and Excite также включает мини-цикл оптимизации (без изменения предобученных весов) в своём конвейере и может требовать больше памяти, чем обычный <a href="../api/pipelines/stable_diffusion/text2img">StableDiffusionPipeline</a>.</p> <!--[1--><h2 class="relative group"><a id="semantic-guidance-sega" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#semantic-guidance-sega"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Семантическое руководство (SEGA)<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2301.12247" rel="nofollow">Статья</a></p> <p>SEGA позволяет добавлять или удалять один или несколько концептов с изображения. Также можно управлять силой концепта. Например, концепт улыбки можно использовать для постепенного усиления или ослабления улыбки на портрете.</p> <p>Аналогично тому, как классификаторное свободное наведение (classifier free guidance) обеспечивает наведение через пустые входные промпты, SEGA обеспечивает наведение на концептуальные промпты. Несколько таких концептуальных промптов могут применяться одновременно. Каждый концептуальный промпт может добавлять или удалять свою концепцию в зависимости от того, применяется ли наведение положительно или отрицательно.</p> <p>В отличие от Pix2Pix Zero или Attend and Excite, SEGA взаимодействует непосредственно с процессом диффузии, а не выполняет явную оптимизацию на основе градиентов.</p> <!--[1--><h2 class="relative group"><a id="self-attention-guidance-sag" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#self-attention-guidance-sag"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Руководство по само-вниманию (SAG)<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2210.00939" rel="nofollow">Статья</a></p> <p>Руководство по само-вниманию (Self-attention Guidance) повышает общее качество изображений.</p> <p>SAG предоставляет руководство от предсказаний, не обусловленных высокочастотными деталями, до полностью обусловленных изображений. Высокочастотные детали извлекаются из карт само-внимания UNet.</p> <!--[1--><h2 class="relative group"><a id="depth2image" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#depth2image"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Depth2Image<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/sd2-community/stable-diffusion-2-depth" rel="nofollow">Проект</a></p> <p><a href="../api/pipelines/stable_diffusion/depth2img">Depth2Image</a> дообучен на базе Stable Diffusion для более точного сохранения семантики при генерации вариаций изображений по текстовому описанию.</p> <p>Она опирается на оценку монокулярной глубины исходного изображения.</p> <!--[1--><h2 class="relative group"><a id="multidiffusion-panorama" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#multidiffusion-panorama"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->MultiDiffusion Panorama<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2302.08113" rel="nofollow">Статья</a></p> <p>MultiDiffusion Panorama определяет новый процесс генерации на основе предобученной диффузионной модели. Этот процесс объединяет несколько методов диффузионной генерации, которые можно непосредственно применять для создания изображений высокого качества и разнообразия. Результаты соответствуют пользовательским параметрам управления, таким как желаемое соотношение сторон (например, панорама) и пространственные направляющие сигналы, от строгих масок сегментации до ограничивающих прямоугольников. | |
| MultiDiffusion Panorama позволяет генерировать изображения высокого качества с произвольным соотношением сторон (например, панорамы).</p> <!--[1--><h2 class="relative group"><a id="fine-tuning-your-own-models" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#fine-tuning-your-own-models"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Доработка собственных моделей<!----></span></h2><!--]--><!----> <p>Помимо предобученных моделей, Diffusers содержит скрипты обучения для дообучения моделей на данных, предоставленных пользователем.</p> <!--[1--><h2 class="relative group"><a id="dreambooth" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#dreambooth"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->DreamBooth<!----></span></h2><!--]--><!----> <p><a href="https://dreambooth.github.io/" rel="nofollow">Проект</a></p> <p><a href="../training/dreambooth">DreamBooth</a> выполняет дообучение модели, чтобы научить её новому объекту. Например, несколько фотографий человека можно использовать для генерации изображений этого человека в разных стилях.</p> <!--[1--><h2 class="relative group"><a id="textual-inversion" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#textual-inversion"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Textual Inversion<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2208.01618" rel="nofollow">Статья</a></p> <p><a href="../training/text_inversion">Textual Inversion</a> выполняет дообучение модели, чтобы научить её новому понятию. Например, несколько изображений в определённом художественном стиле можно использовать для генерации картинок в этом же стиле.</p> <!--[1--><h2 class="relative group"><a id="controlnet" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#controlnet"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->ControlNet<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2302.05543" rel="nofollow">Статья</a></p> <p><a href="../api/pipelines/controlnet">ControlNet</a> — это вспомогательная сеть, добавляющая дополнительное условие. | |
| Существует 8 канонических предобученных ControlNet, обученных на различных условиях, таких как обнаружение границ, каракули, | |
| карты глубины и семантическая сегментация.</p> <!--[1--><h2 class="relative group"><a id="prompt-weighting" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#prompt-weighting"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Взвешивание промпта<!----></span></h2><!--]--><!----> <p><a href="../using-diffusers/weighted_prompts">Взвешивание промпта</a> — это простой метод, который придаёт больший вес внимания определённым частям текстового входа.</p> <!--[1--><h2 class="relative group"><a id="custom-diffusion" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#custom-diffusion"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Custom Diffusion<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2212.04488" rel="nofollow">Статья</a></p> <p><a href="../training/custom_diffusion">Custom Diffusion</a> выполняет дообучение только карт кросс-внимания предобученной текстово-изображательной диффузионной модели. Также он позволяет дополнительно выполнять Textual Inversion. По своей архитектуре он поддерживает обучение на нескольких концепциях. Как и DreamBooth и Textual Inversion, Custom Diffusion используется для обучения предобученной текстово-изображательной диффузионной модели новым концепциям, чтобы генерировать выходные данные, включающие концепции интереса.</p> <!--[1--><h2 class="relative group"><a id="diffedit" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#diffedit"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->DiffEdit<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2210.11427" rel="nofollow">Статья</a></p> <p>DiffEdit позволяет выполнять семантическое редактирование входных изображений вместе с входными промптами, сохраняя исходные изображения в максимально возможной степени.</p> <!--[1--><h2 class="relative group"><a id="t2i-adapter" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#t2i-adapter"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->T2I-Adapter<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2302.08453" rel="nofollow">Статья</a></p> <p><a href="../api/pipelines/stable_diffusion/adapter">T2I-Adapter</a> — это вспомогательная сеть, добавляющая дополнительное условие. | |
| Существует 8 канонических предобученных адаптеров, обученных на различных условиях, таких как обнаружение границ, наброски, | |
| карты глубины и семантические сегментации.</p> <!--[1--><h2 class="relative group"><a id="fabric" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#fabric"><span><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg><!----></span></a> <span><!---->Fabric<!----></span></h2><!--]--><!----> <p><a href="https://huggingface.co/papers/2307.10159" rel="nofollow">Статья</a></p> <p><a href="https://github.com/huggingface/diffusers/tree/442017ccc877279bcf24fbe92f92d3d0def191b6/examples/community#stable-diffusion-fabric-pipeline" rel="nofollow">Fabric</a> — это подход, не требующий обучения, применимый к широкому спектру популярных диффузионных моделей. Он использует слой само-внимания, присутствующий в наиболее распространённых архитектурах, для обусловливания процесса диффузии набором изображений обратной связи.</p> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/diffusers/blob/main/docs/source/en/using-diffusers/controlling_generation.md" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg><!----> <span><span class="underline">Update</span> on GitHub</span></a><!----> <p></p><!--]--><!----><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]--> | |
| <script> | |
| { | |
| __sveltekit_gxjg5b = { | |
| base: "/docs/diffusers/main/en", | |
| assets: "/docs/diffusers/main/en" | |
| }; | |
| const element = document.currentScript.parentElement; | |
| Promise.all([ | |
| import("/docs/diffusers/main/en/_app/immutable/entry/start.U6TUchwJ.js"), | |
| import("/docs/diffusers/main/en/_app/immutable/entry/app.3qKhPoX-.js") | |
| ]).then(([kit, app]) => { | |
| kit.start(app, element, { | |
| node_ids: [0, 18], | |
| data: [null,null], | |
| form: null, | |
| error: null | |
| }); | |
| }); | |
| } | |
| </script> | |
Xet Storage Details
- Size:
- 46 kB
- Xet hash:
- e2aec91dbc388d257fabc02132d471aba8c1329dfe94612acb29b011753d1cb8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.