<script type="application/json" id="client-env">{"locale":"en","featureFlags":["code_vulnerability_scanning","copilot_conversational_ux_history_refs","copilot_smell_icebreaker_ux","copilot_implicit_context","failbot_handle_non_errors","geojson_azure_maps","image_metric_tracking","marketing_forms_api_integration_contact_request","marketing_pages_search_explore_provider","turbo_experiment_risky","sample_network_conn_type","no_character_key_shortcuts_in_inputs","react_start_transition_for_navigations","report_hydro_web_vitals","custom_inp","remove_child_patch"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-97c1efeeeca9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-6890e890956f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-7bd350d761f4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_smoothscroll-polyfill_dist_smoothscroll_js-node_modules_stacktrace-parse-a448e4-bb5415637fe0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-775215f6b8df.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9f960d9b217c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_focus-zone_js-086f7a27bac0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-c76945c5961a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_markdown-toolbar-e-820fc0-bc8f02b96749.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-03fc21f4e80c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-8a621df59e80.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-443cd5-1ba4dbac454f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b7d8f4-7dc906febe69.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-27181b-3509ed8075c4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_onfocus_ts-ui_packages_trusted-types-policies_policy_ts-ui_packages-6fe316-745e8b6794ab.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-34cbf079a4f4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-7b1a26c350a5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_hydro-analytics-client_-4da1df-9de8d527f925.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-fd5530-6fc33e963fc0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-5b376145beff.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-node_modules_github_memoize_dist_esm_index_js-05801f7ca718.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-c91f4ad18b62.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-a8ec7ed862cf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_github_detail-c9d0ba-387cde917623.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-72c9fbde5ad4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_dimensions_js-node_modules_github_jtml_lib_index_js-95b84ee6bc34.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-84957b-7b4e472db160.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_sudo_sudo_ts-eff4af278797.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-ui_packages_hydro-analytics_hydro-analytics_ts-82813f-05346aa543fe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_onfocus_ts-app_ass-421cec-355eb4940fad.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-94209c43e6af.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-467754-782c9388f902.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-9285faa0e011.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-7f67a24be639.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-06ff531-2ea61fcc9a71.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-6d6db5144cc3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_repositories_get-repo-element_ts-f6b365a47eda.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-67595c3a6d0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1fbfc5be2c18.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_octicons-react_dist_index_esm_js-node_modules_primer_react_lib-es-541a38-ade861844008.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Box_Box_js-8f8c5e2a2cbf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_Button_js-95a7748e3c39.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TooltipV2_Tooltip_js-5c105bd4b6bc.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_node_modules_primer_octicons-react_dist_index_esm_mjs-cb996b1b8e38.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionList_index_js-f41028bf9254.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Text_Text_js-node_modules_primer_react_lib-esm_Text-7845da-4f6bc8470fa9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_FormControl_FormControl_js-2a0ace3735a5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AnchoredOverlay_AnchoredOverlay_js-6305545ffa4a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-router-dom_dist_index_js-3b41341d50fe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Heading_Heading_js-node_modules_primer_react_lib-es-1f7291-5d158c765be8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ConfirmationDialog_ConfirmationDialog_js-9ebf2b6ce552.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Label_Label_js-node_modules_primer_react_lib-esm_Se-443e5e-685ada640c03.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Dialog_js-node_modules_primer_react_lib-esm_TabNav_-8321f5-8bee569a21c5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AvatarStack_AvatarStack_js-node_modules_primer_reac-5f8982-a43826693bea.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_primer_react_lib-esm_Bre-ed0fd7-b728dd5c88ad.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_create-browser-history_ts-ui_packages_safe-storage_safe-storage_ts-ui_-682c2c-e45e451173ec.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_register-app_ts-86733e888f0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-ad6a9a567cec.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-b257014a1aab.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-bb2049-30f5a922ceec.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_ho-e725dc-c2ba3df232d1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_filter-sort_ts-app_assets_-e50ab6-fd8396d2490b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-e8188d16a8cd.js"></script> <title>generative-models/README.md at main · Stability-AI/generative-models · GitHub</title>
<meta name="hovercard-subject-tag" content="repository:656933936" data-turbo-transient>
<meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
<meta name="user-login" content="">
<meta name="viewport" content="width=device-width">
<meta name="description" content="Generative Models by Stability AI. Contribute to Stability-AI/generative-models development by creating an account on GitHub.">
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
<meta property="fb:app_id" content="1401488693436528">
<meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/Stability-AI/generative-models/blob/main/README.md" />
<meta name="twitter:image:src" content="https://opengraph.githubassets.com/5387ac131175806cfe74bb91a28b94846df442aa2d71dd8c3ed0c033fbf67f21/Stability-AI/generative-models" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="generative-models/README.md at main · Stability-AI/generative-models" /><meta name="twitter:description" content="Generative Models by Stability AI. Contribute to Stability-AI/generative-models development by creating an account on GitHub." />
<meta name="hostname" content="github.com">
<meta name="expected-hostname" content="github.com">
<meta name="turbo-cache-control" content="no-cache" data-turbo-transient>
<meta data-hydrostats="publish">
<meta name="turbo-body-classes" content="logged-out env-production page-responsive">
<div class="position-relative js-header-wrapper ">
<a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
<span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
<react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false"
<script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9f3636b94e7e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-ff11af600d3e.js"></script> Toggle navigation
<div class="flex-1">
<a href="/login?return_to=https%3A%2F%2Fgithub.com%2FStability-AI%2Fgenerative-models%2Fblob%2Fmain%2FREADME.md"
class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit"
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/Stability-AI/generative-models/blob/main/README.md","user_id":null}}" data-hydro-click-hmac="6a9d288696c58a01f100f0eb97074b5de42c77b16673493b70f7342797a9abbb"
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
Sign in
</a>
</div>
<div class="flex-1 flex-order-2 text-right">
<button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content">
<span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
<div class="HeaderMenu-toggle-bar rounded my-1"></div>
<div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
<div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0">
<div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0">
<nav class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0" aria-label="Global">
<ul class="d-lg-flex list-style-none">
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
Product
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
-
ActionsAutomate any workflow
- Enterprise
-
<div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div>
<li>
Packages
Host and manage packages
<li>
Security
Find and fix vulnerabilities
<li>
Codespaces
Instant dev environments
<li>
Copilot
Write better code with AI
<li>
Code review
Manage code changes
<li>
Issues
Plan and track work
<li>
Discussions
Collaborate outside of code
</ul>
</div>
<div class="px-lg-4">
<span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span>
<ul class="list-style-none f5" aria-labelledby="product-explore-heading">
<li>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</ul>
</div>
</div>
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
Solutions
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
For
<li>
<li>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</ul>
</div>
<div class="border-bottom pb-3 mb-3">
<span class="d-block h4 color-fg-default my-1" id="solutions-by-solution-heading">By Solution</span>
<ul class="list-style-none f5" aria-labelledby="solutions-by-solution-heading">
<li>
<li>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</ul>
</div>
<div class="">
<span class="d-block h4 color-fg-default my-1" id="solutions-resources-heading">Resources</span>
<ul class="list-style-none f5" aria-labelledby="solutions-resources-heading">
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
<li>
<li>
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
<path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
</ul>
</div>
</div>
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
<button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
Open Source
<svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
<path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
</ul>
</div>
<div class="border-bottom pb-3 mb-3">
<ul class="list-style-none f5" >
<li>
<div>
<div class="color-fg-default h4">The ReadME Project</div>
GitHub community articles
</div>
</ul>
</div>
<div class="">
<span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>
<ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
<li>
<li>
<li>
</ul>
</div>
</div>
<li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
<a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"category":"Header menu top item (logged out)","action":"click to go to Pricing","label":"ref_cta:Pricing;"}" href="/pricing">Pricing</a>
</ul>
</nav>
<div class="d-lg-flex flex-items-center mb-3 mb-lg-0 text-center text-lg-left ml-3" style="">
</div>
</button>
<input type="hidden" name="type" class="js-site-search-type-field">
<div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
style="border-radius: 12px;"
data-target="qbsearch-input.queryBuilderContainer"
hidden
>
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
Search
Clear
</div>
<template id="search-icon">
<div class="position-relative">
<ul
role="listbox"
class="ActionListWrap QueryBuilder-ListWrap"
aria-label="Suggestions"
data-action="
combobox-commit:query-builder#comboboxCommit
mousedown:query-builder#resultsMousedown
"
data-target="query-builder.resultsList"
data-persist-list=false
id="query-builder-test-results"
></ul>
</div>
<div class="FormControl-inlineValidation" id="validation-12ebbb8a-9499-4007-9cea-8220fdbaa008" hidden="hidden">
<span class="FormControl-inlineValidation--visual">
<svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
<path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
</div>
We read every piece of feedback, and take your input very seriously.
<textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> Include my email address so I can be contacted Cancel
Submit feedback
<custom-scopes data-target="qbsearch-input.customScopesManager">
<div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="yj5oiIookKvfZpEf1uDUQFxm4Zd3dycRDMDRt25RtQd8eXkcXiNgmXgGfYwZweGmG69fXCm2dh1Q3upmdJ47MQ==" />
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
<div class="form-group">
<label for="custom_scope_name">Name</label>
<auto-check src="/search/custom_scopes/check_name" required>
<input
type="text"
name="custom_scope_name"
id="custom_scope_name"
data-target="custom-scopes.customScopesNameField"
class="form-control"
autocomplete="off"
placeholder="github-ruby"
required
maxlength="50">
<input type="hidden" data-csrf="true" value="N+uvBJt1rIDwLaeaSbA1ExMNouoIuCQAjLlDYl4XV5ZSlRIz6yPV8F9JErseS6TR1sW/otAXU1MaKy2Z221jvQ==" />
</auto-check>
</div>
<div class="form-group">
<label for="custom_scope_query">Query</label>
<input
type="text"
name="custom_scope_query"
id="custom_scope_query"
data-target="custom-scopes.customScopesQueryField"
class="form-control"
autocomplete="off"
placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
required
maxlength="500">
</div>
<p class="text-small color-fg-muted">
To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
</p>
<div data-target="custom-scopes.manageCustomScopesForm">
<div data-target="custom-scopes.list"></div>
</div>
Cancel
Create saved search
<div class="position-relative mr-lg-3 d-lg-inline-block">
<a href="/login?return_to=https%3A%2F%2Fgithub.com%2FStability-AI%2Fgenerative-models%2Fblob%2Fmain%2FREADME.md"
class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0"
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/Stability-AI/generative-models/blob/main/README.md","user_id":null}}" data-hydro-click-hmac="6a9d288696c58a01f100f0eb97074b5de42c77b16673493b70f7342797a9abbb"
data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
Sign in
</a>
</div>
<a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=Stability-AI%2Fgenerative-models"
class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1"
data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/Stability-AI/generative-models/blob/main/README.md","user_id":null}}" data-hydro-click-hmac="6a9d288696c58a01f100f0eb97074b5de42c77b16673493b70f7342797a9abbb"
data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;ref_cta:Sign up;ref_loc:header logged out"}"
>
Sign up
</a>
</div>
</div>
</div>
<div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full mb-3">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
<button id="icon-button-3af06936-9372-48ae-a823-fc939006d49a" aria-labelledby="tooltip-908a7332-15dc-4910-8d75-2f87ff746f2a" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
<div id="js-flash-container" data-turbo-replace>
<div>{{ message }}</div>
</div>
<include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
<div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5" style="gap: 1rem;">
<div class="flex-auto min-width-0 width-fit mr-3">
<span class="author flex-self-stretch" itemprop="author">
<a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/Stability-AI/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/Stability-AI">
Stability-AI
<span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
</div>
<div id="repository-details-container" data-turbo-replace>
<ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
<li>
</li>
</div>
</div>
<div id="responsive-meta-container" data-turbo-replace>
<nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
-
Code
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> -
Issues 212
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> -
Pull requests 42
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> -
Actions
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> -
Projects 0
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> -
Security
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> -
Insights
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
Additional navigation options
<div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list>
<react-app app-name="react-code-view" initial-path="/Stability-AI/generative-models/blob/main/README.md" style="min-height: calc(100vh - 64px)" data-ssr="false" data-lazy="false" data-alternate="false"
<script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"assets","path":"assets","contentType":"directory"},{"name":"configs","path":"configs","contentType":"directory"},{"name":"data","path":"data","contentType":"directory"},{"name":"model_licenses","path":"model_licenses","contentType":"directory"},{"name":"requirements","path":"requirements","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":"sgm","path":"sgm","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"CODEOWNERS","path":"CODEOWNERS","contentType":"file"},{"name":"LICENSE-CODE","path":"LICENSE-CODE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"main.py","path":"main.py","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"pytest.ini","path":"pytest.ini","contentType":"file"}],"totalCount":16}},"fileTreeProcessingTime":2.821656,"foldersToFetch":[],"repo":{"id":656933936,"defaultBranch":"main","name":"generative-models","ownerLogin":"Stability-AI","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-22T00:36:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/100950301?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1710824015.0","canEdit":false,"refType":"branch","currentOid":"fbdc58cab9f4ee2be7a5e1f2e2787ecd9311942f"},"path":"README.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/Stability-AI/generative-models/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README.md","displayUrl":"https://github.com/Stability-AI/generative-models/blob/main/README.md?raw=true","headerInfo":{"blobSize":"15.9 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"96a2836","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FStability-AI%2Fgenerative-models%2Fblob%2Fmain%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"Generative Models by Stability AI","anchor":"generative-models-by-stability-ai","htmlText":"Generative Models by Stability AI"},{"level":2,"text":"News","anchor":"news","htmlText":"News"},{"level":2,"text":"The codebase","anchor":"the-codebase","htmlText":"The codebase"},{"level":3,"text":"General Philosophy","anchor":"general-philosophy","htmlText":"General Philosophy"},{"level":3,"text":"Changelog from the old ldm codebase","anchor":"changelog-from-the-old-ldm-codebase","htmlText":"Changelog from the old ldm codebase"},{"level":2,"text":"Installation:","anchor":"installation","htmlText":"Installation:"},{"level":4,"text":"1. Clone the repo","anchor":"1-clone-the-repo","htmlText":"1. Clone the repo"},{"level":4,"text":"2. Setting up the virtualenv","anchor":"2-setting-up-the-virtualenv","htmlText":"2. Setting up the virtualenv"},{"level":4,"text":"3. Install sgm","anchor":"3-install-sgm","htmlText":"3. Install sgm"},{"level":4,"text":"4. Install sdata for training","anchor":"4-install-sdata-for-training","htmlText":"4. Install sdata for training"},{"level":2,"text":"Packaging","anchor":"packaging","htmlText":"Packaging"},{"level":2,"text":"Inference","anchor":"inference","htmlText":"Inference"},{"level":3,"text":"Invisible Watermark Detection","anchor":"invisible-watermark-detection","htmlText":"Invisible Watermark Detection"},{"level":2,"text":"Training:","anchor":"training","htmlText":"Training:"},{"level":3,"text":"Building New Diffusion Models","anchor":"building-new-diffusion-models","htmlText":"Building New Diffusion Models"},{"level":4,"text":"Conditioner","anchor":"conditioner","htmlText":"Conditioner"},{"level":4,"text":"Network","anchor":"network","htmlText":"Network"},{"level":4,"text":"Loss","anchor":"loss","htmlText":"Loss"},{"level":4,"text":"Sampler config","anchor":"sampler-config","htmlText":"Sampler config"},{"level":3,"text":"Dataset Handling","anchor":"dataset-handling","htmlText":"Dataset Handling"}],"lineInfo":{"truncatedLoc":"329","truncatedSloc":"245"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/Stability-AI/generative-models/blob/main/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/Stability-AI/generative-models/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/Stability-AI/generative-models/raw/main/README.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGenerative Models by Stability AI\u003c/h1\u003e\u003ca id=\"user-content-generative-models-by-stability-ai\" class=\"anchor\" aria-label=\"Permalink: Generative Models by Stability AI\" href=\"#generative-models-by-stability-ai\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/Stability-AI/generative-models/blob/main/assets/000.jpg\"\u003e\u003cimg src=\"/Stability-AI/generative-models/raw/main/assets/000.jpg\" alt=\"sample1\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNews\u003c/h2\u003e\u003ca id=\"user-content-news\" class=\"anchor\" aria-label=\"Permalink: News\" href=\"#news\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eMarch 18, 2024\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWe are releasing \u003cstrong\u003e\u003ca href=\"https://huggingface.co/stabilityai/sv3d\" rel=\"nofollow\"\u003eSV3D\u003c/a\u003e\u003c/strong\u003e, an image-to-video model for novel multi-view synthesis, for research purposes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eSV3D\u003c/strong\u003e was trained to generate 21 frames at resolution 576x576, given 1 context frame of the same size, ideally a white-background image with one object.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSV3D_u\u003c/strong\u003e: This variant generates orbital videos based on single image inputs without camera conditioning..\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSV3D_p\u003c/strong\u003e: Extending the capability of \u003cstrong\u003eSVD3_u\u003c/strong\u003e, this variant accommodates both single images and orbital views allowing for the creation of 3D video along specified camera paths.\u003c/li\u003e\n\u003cli\u003eWe extend the streamlit demo \u003ccode\u003escripts/demo/video_sampling.py\u003c/code\u003e and the standalone python script \u003ccode\u003escripts/sampling/simple_video_sample.py\u003c/code\u003e for inference of both models.\u003c/li\u003e\n\u003cli\u003ePlease check our \u003ca href=\"https://sv3d.github.io\" rel=\"nofollow\"\u003eproject page\u003c/a\u003e, \u003ca href=\"https://sv3d.github.io/static/paper.pdf\" rel=\"nofollow\"\u003etech report\u003c/a\u003e and \u003ca href=\"https://youtu.be/Zqw4-1LcfWg\" rel=\"nofollow\"\u003evideo summary\u003c/a\u003e for more details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eTo run \u003cstrong\u003eSV3D_u\u003c/strong\u003e on a single image:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDownload \u003ccode\u003esv3d_u.safetensors\u003c/code\u003e from \u003ca href=\"https://huggingface.co/stabilityai/sv3d\" rel=\"nofollow\"\u003ehttps://huggingface.co/stabilityai/sv3d\u003c/a\u003e to \u003ccode\u003echeckpoints/sv3d_u.safetensors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003epython scripts/sampling/simple_video_sample.py --input_path \u0026lt;path/to/image.png\u0026gt; --version sv3d_u\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eTo run \u003cstrong\u003eSV3D_p\u003c/strong\u003e on a single image:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDownload \u003ccode\u003esv3d_p.safetensors\u003c/code\u003e from \u003ca href=\"https://huggingface.co/stabilityai/sv3d\" rel=\"nofollow\"\u003ehttps://huggingface.co/stabilityai/sv3d\u003c/a\u003e to \u003ccode\u003echeckpoints/sv3d_p.safetensors\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eGenerate static orbit at a specified elevation eg. 10.0 : \u003ccode\u003epython scripts/sampling/simple_video_sample.py --input_path \u0026lt;path/to/image.png\u0026gt; --version sv3d_p --elevations_deg 10.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eGenerate dynamic orbit at a specified elevations and azimuths: specify sequences of 21 elevations (in degrees) to \u003ccode\u003eelevations_deg\u003c/code\u003e ([-90, 90]), and 21 azimuths (in degrees) to \u003ccode\u003eazimuths_deg\u003c/code\u003e [0, 360] in sorted order from 0 to 360. For example: \u003ccode\u003epython scripts/sampling/simple_video_sample.py --input_path \u0026lt;path/to/image.png\u0026gt; --version sv3d_p --elevations_deg [\u0026lt;list of 21 elevations in degrees\u0026gt;] --azimuths_deg [\u0026lt;list of 21 azimuths in degrees\u0026gt;]\u003c/code\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003eTo run SVD or SV3D on a streamlit server:\n\u003ccode\u003estreamlit run scripts/demo/video_sampling.py\u003c/code\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/Stability-AI/generative-models/blob/main/assets/sv3d.gif\"\u003e\u003cimg src=\"/Stability-AI/generative-models/raw/main/assets/sv3d.gif\" alt=\"tile\" data-animated-image=\"\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNovember 30, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFollowing the launch of SDXL-Turbo, we are releasing \u003ca href=\"https://huggingface.co/stabilityai/sd-turbo\" rel=\"nofollow\"\u003eSD-Turbo\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNovember 28, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eWe are releasing SDXL-Turbo, a lightning fast text-to image model.\nAlongside the model, we release a \u003ca href=\"https://stability.ai/research/adversarial-diffusion-distillation\" rel=\"nofollow\"\u003etechnical report\u003c/a\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUsage:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFollow the installation instructions or update the existing environment with \u003ccode\u003epip install streamlit-keyup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDownload the \u003ca href=\"https://huggingface.co/stabilityai/sdxl-turbo\" rel=\"nofollow\"\u003eweights\u003c/a\u003e and place them in the \u003ccode\u003echeckpoints/\u003c/code\u003e directory.\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003estreamlit run scripts/demo/turbo.py\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/Stability-AI/generative-models/blob/main/assets/turbo_tile.png\"\u003e\u003cimg src=\"/Stability-AI/generative-models/raw/main/assets/turbo_tile.png\" alt=\"tile\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNovember 21, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eWe are releasing Stable Video Diffusion, an image-to-video model, for research purposes:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-video-diffusion-img2vid\" rel=\"nofollow\"\u003eSVD\u003c/a\u003e: This model was trained to generate 14\nframes at resolution 576x1024 given a context frame of the same size.\nWe use the standard image encoder from SD 2.1, but replace the decoder with a temporally-aware \u003ccode\u003edeflickering decoder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt\" rel=\"nofollow\"\u003eSVD-XT\u003c/a\u003e: Same architecture as \u003ccode\u003eSVD\u003c/code\u003e but finetuned\nfor 25 frame generation.\u003c/li\u003e\n\u003cli\u003eYou can run the community-build gradio demo locally by running \u003ccode\u003epython -m scripts.demo.gradio_app\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eWe provide a streamlit demo \u003ccode\u003escripts/demo/video_sampling.py\u003c/code\u003e and a standalone python script \u003ccode\u003escripts/sampling/simple_video_sample.py\u003c/code\u003e for inference of both models.\u003c/li\u003e\n\u003cli\u003eAlongside the model, we release a \u003ca href=\"https://stability.ai/research/stable-video-diffusion-scaling-latent-video-diffusion-models-to-large-datasets\" rel=\"nofollow\"\u003etechnical report\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/Stability-AI/generative-models/blob/main/assets/tile.gif\"\u003e\u003cimg src=\"/Stability-AI/generative-models/raw/main/assets/tile.gif\" alt=\"tile\" data-animated-image=\"\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eJuly 26, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWe are releasing two new open models with a\npermissive \u003ca href=\"/Stability-AI/generative-models/blob/main/model_licenses/LICENSE-SDXL1.0\"\u003e\u003ccode\u003eCreativeML Open RAIL++-M\u003c/code\u003e license\u003c/a\u003e (see \u003ca href=\"#inference\"\u003eInference\u003c/a\u003e for file\nhashes):\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0\" rel=\"nofollow\"\u003eSDXL-base-1.0\u003c/a\u003e: An improved version\nover \u003ccode\u003eSDXL-base-0.9\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0\" rel=\"nofollow\"\u003eSDXL-refiner-1.0\u003c/a\u003e: An improved version\nover \u003ccode\u003eSDXL-refiner-0.9\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"/Stability-AI/generative-models/blob/main/assets/001_with_eval.png\"\u003e\u003cimg src=\"/Stability-AI/generative-models/raw/main/assets/001_with_eval.png\" alt=\"sample2\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eJuly 4, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA technical report on SDXL is now available \u003ca href=\"https://arxiv.org/abs/2307.01952\" rel=\"nofollow\"\u003ehere\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eJune 22, 2023\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWe are releasing two new diffusion models for research purposes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eSDXL-base-0.9\u003c/code\u003e: The base model was trained on a variety of aspect ratios on images with resolution 1024^2. The\nbase model uses \u003ca href=\"https://github.com/mlfoundations/open_clip\"\u003eOpenCLIP-ViT/G\u003c/a\u003e\nand \u003ca href=\"https://github.com/openai/CLIP/tree/main\"\u003eCLIP-ViT/L\u003c/a\u003e for text encoding whereas the refiner model only uses\nthe OpenCLIP model.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSDXL-refiner-0.9\u003c/code\u003e: The refiner has been trained to denoise small noise levels of high quality data and as such is\nnot expected to work as a text-to-image model; instead, it should only be used as an image-to-image model.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eIf you would like to access these models for your research, please apply using one of the following links:\n\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9\" rel=\"nofollow\"\u003eSDXL-0.9-Base model\u003c/a\u003e,\nand \u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-0.9\" rel=\"nofollow\"\u003eSDXL-0.9-Refiner\u003c/a\u003e.\nThis means that you can apply for any of the two links - and if you are granted - you can access both.\nPlease log in to your Hugging Face Account with your organization email to request access.\n\u003cstrong\u003eWe plan to do a full release soon (July).\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eThe codebase\u003c/h2\u003e\u003ca id=\"user-content-the-codebase\" class=\"anchor\" aria-label=\"Permalink: The codebase\" href=\"#the-codebase\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGeneral Philosophy\u003c/h3\u003e\u003ca id=\"user-content-general-philosophy\" class=\"anchor\" aria-label=\"Permalink: General Philosophy\" href=\"#general-philosophy\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eModularity is king. This repo implements a config-driven approach where we build and combine submodules by\ncalling \u003ccode\u003einstantiate_from_config()\u003c/code\u003e on objects defined in yaml configs. See \u003ccode\u003econfigs/\u003c/code\u003e for many examples.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eChangelog from the old \u003ccode\u003eldm\u003c/code\u003e codebase\u003c/h3\u003e\u003ca id=\"user-content-changelog-from-the-old-ldm-codebase\" class=\"anchor\" aria-label=\"Permalink: Changelog from the old ldm codebase\" href=\"#changelog-from-the-old-ldm-codebase\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor training, we use \u003ca href=\"https://lightning.ai/docs/pytorch/stable/\" rel=\"nofollow\"\u003ePyTorch Lightning\u003c/a\u003e, but it should be easy to use other\ntraining wrappers around the base modules. The core diffusion model class (formerly \u003ccode\u003eLatentDiffusion\u003c/code\u003e,\nnow \u003ccode\u003eDiffusionEngine\u003c/code\u003e) has been cleaned up:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNo more extensive subclassing! We now handle all types of conditioning inputs (vectors, sequences and spatial\nconditionings, and all combinations thereof) in a single class: \u003ccode\u003eGeneralConditioner\u003c/code\u003e,\nsee \u003ccode\u003esgm/modules/encoders/modules.py\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eWe separate guiders (such as classifier-free guidance, see \u003ccode\u003esgm/modules/diffusionmodules/guiders.py\u003c/code\u003e) from the\nsamplers (\u003ccode\u003esgm/modules/diffusionmodules/sampling.py\u003c/code\u003e), and the samplers are independent of the model.\u003c/li\u003e\n\u003cli\u003eWe adopt the \u003ca href=\"https://arxiv.org/abs/2206.00364\" rel=\"nofollow\"\u003e\"denoiser framework\"\u003c/a\u003e for both training and inference (most notable\nchange is probably now the option to train continuous time models):\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDiscrete times models (denoisers) are simply a special case of continuous time models (denoisers);\nsee \u003ccode\u003esgm/modules/diffusionmodules/denoiser.py\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe following features are now independent: weighting of the diffusion loss\nfunction (\u003ccode\u003esgm/modules/diffusionmodules/denoiser_weighting.py\u003c/code\u003e), preconditioning of the\nnetwork (\u003ccode\u003esgm/modules/diffusionmodules/denoiser_scaling.py\u003c/code\u003e), and sampling of noise levels during\ntraining (\u003ccode\u003esgm/modules/diffusionmodules/sigma_sampling.py\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAutoencoding models have also been cleaned up.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInstallation:\u003c/h2\u003e\u003ca id=\"user-content-installation\" class=\"anchor\" aria-label=\"Permalink: Installation:\" href=\"#installation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca name=\"user-content-installation\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e1. Clone the repo\u003c/h4\u003e\u003ca id=\"user-content-1-clone-the-repo\" class=\"anchor\" aria-label=\"Permalink: 1. Clone the repo\" href=\"#1-clone-the-repo\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/Stability-AI/generative-models.git\ncd generative-models\"\u003e\u003cpre\u003egit clone https://github.com/Stability-AI/generative-models.git\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e generative-models\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e2. Setting up the virtualenv\u003c/h4\u003e\u003ca id=\"user-content-2-setting-up-the-virtualenv\" class=\"anchor\" aria-label=\"Permalink: 2. Setting up the virtualenv\" href=\"#2-setting-up-the-virtualenv\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis is assuming you have navigated to the \u003ccode\u003egenerative-models\u003c/code\u003e root after cloning it.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNOTE:\u003c/strong\u003e This is tested under \u003ccode\u003epython3.10\u003c/code\u003e. For other python versions, you might encounter version conflicts.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003ePyTorch 2.0\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# install required packages from pypi\npython3 -m venv .pt2\nsource .pt2/bin/activate\npip3 install -r requirements/pt2.txt\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e install required packages from pypi\u003c/span\u003e\npython3 -m venv .pt2\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e .pt2/bin/activate\npip3 install -r requirements/pt2.txt\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e3. Install \u003ccode\u003esgm\u003c/code\u003e\u003c/h4\u003e\u003ca id=\"user-content-3-install-sgm\" class=\"anchor\" aria-label=\"Permalink: 3. Install sgm\" href=\"#3-install-sgm\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"pip3 install .\"\u003e\u003cpre\u003epip3 install \u003cspan class=\"pl-c1\"\u003e.\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e4. Install \u003ccode\u003esdata\u003c/code\u003e for training\u003c/h4\u003e\u003ca id=\"user-content-4-install-sdata-for-training\" class=\"anchor\" aria-label=\"Permalink: 4. Install sdata for training\" href=\"#4-install-sdata-for-training\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata\"\u003e\u003cpre\u003epip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePackaging\u003c/h2\u003e\u003ca id=\"user-content-packaging\" class=\"anchor\" aria-label=\"Permalink: Packaging\" href=\"#packaging\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis repository uses PEP 517 compliant packaging using \u003ca href=\"https://hatch.pypa.io/latest/\" rel=\"nofollow\"\u003eHatch\u003c/a\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTo build a distributable wheel, install \u003ccode\u003ehatch\u003c/code\u003e and run \u003ccode\u003ehatch build\u003c/code\u003e\n(specifying \u003ccode\u003e-t wheel\u003c/code\u003e will skip building a sdist, which is not necessary).\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"pip install hatch\nhatch build -t wheel\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003epip install hatch\nhatch build -t wheel\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou will find the built package in \u003ccode\u003edist/\u003c/code\u003e. You can install the wheel with \u003ccode\u003epip install dist/*.whl\u003c/code\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eNote that the package does \u003cstrong\u003enot\u003c/strong\u003e currently specify dependencies; you will need to install the required packages,\ndepending on your use case and PyTorch version, manually.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInference\u003c/h2\u003e\u003ca id=\"user-content-inference\" class=\"anchor\" aria-label=\"Permalink: Inference\" href=\"#inference\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWe provide a \u003ca href=\"https://streamlit.io/\" rel=\"nofollow\"\u003estreamlit\u003c/a\u003e demo for text-to-image and image-to-image sampling\nin \u003ccode\u003escripts/demo/sampling.py\u003c/code\u003e.\nWe provide file hashes for the complete file as well as for only the saved tensors in the file (\nsee \u003ca href=\"https://github.com/Stability-AI/ModelSpec\"\u003eModel Spec\u003c/a\u003e for a script to evaluate that).\nThe following models are currently supported:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0\" rel=\"nofollow\"\u003eSDXL-base-1.0\u003c/a\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"File Hash (sha256): 31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b\nTensordata Hash (sha256): 0xd7a9105a900fd52748f20725fe52fe52b507fd36bee4fc107b1550a26e6ee1d7\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003eFile Hash (sha256): 31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b\nTensordata Hash (sha256): 0xd7a9105a900fd52748f20725fe52fe52b507fd36bee4fc107b1550a26e6ee1d7\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0\" rel=\"nofollow\"\u003eSDXL-refiner-1.0\u003c/a\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"File Hash (sha256): 7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f\nTensordata Hash (sha256): 0x1a77d21bebc4b4de78c474a90cb74dc0d2217caf4061971dbfa75ad406b75d81\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003eFile Hash (sha256): 7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f\nTensordata Hash (sha256): 0x1a77d21bebc4b4de78c474a90cb74dc0d2217caf4061971dbfa75ad406b75d81\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9\" rel=\"nofollow\"\u003eSDXL-base-0.9\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-0.9\" rel=\"nofollow\"\u003eSDXL-refiner-0.9\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-2-1-base/blob/main/v2-1_512-ema-pruned.safetensors\" rel=\"nofollow\"\u003eSD-2.1-512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-2-1/blob/main/v2-1_768-ema-pruned.safetensors\" rel=\"nofollow\"\u003eSD-2.1-768\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eWeights for SDXL\u003c/strong\u003e:\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eSDXL-1.0:\u003c/strong\u003e\nThe weights of SDXL-1.0 are available (subject to\na \u003ca href=\"/Stability-AI/generative-models/blob/main/model_licenses/LICENSE-SDXL1.0\"\u003e\u003ccode\u003eCreativeML Open RAIL++-M\u003c/code\u003e license\u003c/a\u003e) here:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ebase model: \u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/\" rel=\"nofollow\"\u003ehttps://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefiner model: \u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/\" rel=\"nofollow\"\u003ehttps://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eSDXL-0.9:\u003c/strong\u003e\nThe weights of SDXL-0.9 are available and subject to a \u003ca href=\"/Stability-AI/generative-models/blob/main/model_licenses/LICENSE-SDXL0.9\"\u003eresearch license\u003c/a\u003e.\nIf you would like to access these models for your research, please apply using one of the following links:\n\u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9\" rel=\"nofollow\"\u003eSDXL-base-0.9 model\u003c/a\u003e,\nand \u003ca href=\"https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-0.9\" rel=\"nofollow\"\u003eSDXL-refiner-0.9\u003c/a\u003e.\nThis means that you can apply for any of the two links - and if you are granted - you can access both.\nPlease log in to your Hugging Face Account with your organization email to request access.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAfter obtaining the weights, place them into \u003ccode\u003echeckpoints/\u003c/code\u003e.\nNext, start the demo using\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"streamlit run scripts/demo/sampling.py --server.port \u0026lt;your_port\u0026gt;\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003estreamlit run scripts/demo/sampling.py --server.port \u0026lt;your_port\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInvisible Watermark Detection\u003c/h3\u003e\u003ca id=\"user-content-invisible-watermark-detection\" class=\"anchor\" aria-label=\"Permalink: Invisible Watermark Detection\" href=\"#invisible-watermark-detection\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eImages generated with our code use the\n\u003ca href=\"https://github.com/ShieldMnt/invisible-watermark/\"\u003einvisible-watermark\u003c/a\u003e\nlibrary to embed an invisible watermark into the model output. We also provide\na script to easily detect that watermark. Please note that this watermark is\nnot the same as in previous Stable Diffusion 1.x/2.x versions.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTo run the script you need to either have a working installation as above or\ntry an \u003cem\u003eexperimental\u003c/em\u003e import using only a minimal amount of packages:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"python -m venv .detect\nsource .detect/bin/activate\n\npip install \u0026quot;numpy\u0026gt;=1.17\u0026quot; \u0026quot;PyWavelets\u0026gt;=1.1.1\u0026quot; \u0026quot;opencv-python\u0026gt;=4.1.0.25\u0026quot;\npip install --no-deps invisible-watermark\"\u003e\u003cpre\u003epython -m venv .detect\n\u003cspan class=\"pl-c1\"\u003esource\u003c/span\u003e .detect/bin/activate\n\npip install \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003enumpy\u0026gt;=1.17\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ePyWavelets\u0026gt;=1.1.1\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eopencv-python\u0026gt;=4.1.0.25\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\npip install --no-deps invisible-watermark\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eTo run the script you need to have a working installation as above. The script\nis then useable in the following ways (don't forget to activate your\nvirtual environment beforehand, e.g. \u003ccode\u003esource .pt1/bin/activate\u003c/code\u003e):\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# test a single file\npython scripts/demo/detect.py \u0026lt;your filename here\u0026gt;\n# test multiple files at once\npython scripts/demo/detect.py \u0026lt;filename 1\u0026gt; \u0026lt;filename 2\u0026gt; ... \u0026lt;filename n\u0026gt;\n# test all files in a specific folder\npython scripts/demo/detect.py \u0026lt;your folder name here\u0026gt;/*\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e test a single file\u003c/span\u003e\npython scripts/demo/detect.py \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eyour filename here\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e test multiple files at once\u003c/span\u003e\npython scripts/demo/detect.py \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003efilename \u003cspan class=\"pl-k\"\u003e1\u0026gt;\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003efilename \u003cspan class=\"pl-k\"\u003e2\u0026gt;\u003c/span\u003e ... \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003efilename n\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e test all files in a specific folder\u003c/span\u003e\npython scripts/demo/detect.py \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eyour folder name here\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e/\u003cspan class=\"pl-k\"\u003e*\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTraining:\u003c/h2\u003e\u003ca id=\"user-content-training\" class=\"anchor\" aria-label=\"Permalink: Training:\" href=\"#training\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWe are providing example training configs in \u003ccode\u003econfigs/example_training\u003c/code\u003e. To launch a training, run\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"python main.py --base configs/\u0026lt;config1.yaml\u0026gt; configs/\u0026lt;config2.yaml\u0026gt;\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003epython main.py --base configs/\u0026lt;config1.yaml\u0026gt; configs/\u0026lt;config2.yaml\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ewhere configs are merged from left to right (later configs overwrite the same values).\nThis can be used to combine model, training and data configs. However, all of them can also be\ndefined in a single config. For example, to run a class-conditional pixel-based diffusion model training on MNIST,\nrun\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"python main.py --base configs/example_training/toy/mnist_cond.yaml\"\u003e\u003cpre\u003epython main.py --base configs/example_training/toy/mnist_cond.yaml\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNOTE 1:\u003c/strong\u003e Using the non-toy-dataset\nconfigs \u003ccode\u003econfigs/example_training/imagenet-f8_cond.yaml\u003c/code\u003e, \u003ccode\u003econfigs/example_training/txt2img-clipl.yaml\u003c/code\u003e\nand \u003ccode\u003econfigs/example_training/txt2img-clipl-legacy-ucg-training.yaml\u003c/code\u003e for training will require edits depending on the\nused dataset (which is expected to stored in tar-file in\nthe \u003ca href=\"https://github.com/webdataset/webdataset\"\u003ewebdataset-format\u003c/a\u003e). To find the parts which have to be adapted, search\nfor comments containing \u003ccode\u003eUSER:\u003c/code\u003e in the respective config.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNOTE 2:\u003c/strong\u003e This repository supports both \u003ccode\u003epytorch1.13\u003c/code\u003e and \u003ccode\u003epytorch2\u003c/code\u003efor training generative models. However for\nautoencoder training as e.g. in \u003ccode\u003econfigs/example_training/autoencoder/kl-f4/imagenet-attnfree-logvar.yaml\u003c/code\u003e,\nonly \u003ccode\u003epytorch1.13\u003c/code\u003e is supported.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNOTE 3:\u003c/strong\u003e Training latent generative models (as e.g. in \u003ccode\u003econfigs/example_training/imagenet-f8_cond.yaml\u003c/code\u003e) requires\nretrieving the checkpoint from \u003ca href=\"https://huggingface.co/stabilityai/sdxl-vae/tree/main\" rel=\"nofollow\"\u003eHugging Face\u003c/a\u003e and replacing\nthe \u003ccode\u003eCKPT_PATH\u003c/code\u003e placeholder in \u003ca href=\"/Stability-AI/generative-models/blob/main/configs/example_training/imagenet-f8_cond.yaml#81\"\u003ethis line\u003c/a\u003e. The same is to be done\nfor the provided text-to-image configs.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBuilding New Diffusion Models\u003c/h3\u003e\u003ca id=\"user-content-building-new-diffusion-models\" class=\"anchor\" aria-label=\"Permalink: Building New Diffusion Models\" href=\"#building-new-diffusion-models\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConditioner\u003c/h4\u003e\u003ca id=\"user-content-conditioner\" class=\"anchor\" aria-label=\"Permalink: Conditioner\" href=\"#conditioner\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe \u003ccode\u003eGeneralConditioner\u003c/code\u003e is configured through the \u003ccode\u003econditioner_config\u003c/code\u003e. Its only attribute is \u003ccode\u003eemb_models\u003c/code\u003e, a list of\ndifferent embedders (all inherited from \u003ccode\u003eAbstractEmbModel\u003c/code\u003e) that are used to condition the generative model.\nAll embedders should define whether or not they are trainable (\u003ccode\u003eis_trainable\u003c/code\u003e, default \u003ccode\u003eFalse\u003c/code\u003e), a classifier-free\nguidance dropout rate is used (\u003ccode\u003eucg_rate\u003c/code\u003e, default \u003ccode\u003e0\u003c/code\u003e), and an input key (\u003ccode\u003einput_key\u003c/code\u003e), for example, \u003ccode\u003etxt\u003c/code\u003e for\ntext-conditioning or \u003ccode\u003ecls\u003c/code\u003e for class-conditioning.\nWhen computing conditionings, the embedder will get \u003ccode\u003ebatch[input_key]\u003c/code\u003e as input.\nWe currently support two to four dimensional conditionings and conditionings of different embedders are concatenated\nappropriately.\nNote that the order of the embedders in the \u003ccode\u003econditioner_config\u003c/code\u003e is important.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNetwork\u003c/h4\u003e\u003ca id=\"user-content-network\" class=\"anchor\" aria-label=\"Permalink: Network\" href=\"#network\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe neural network is set through the \u003ccode\u003enetwork_config\u003c/code\u003e. This used to be called \u003ccode\u003eunet_config\u003c/code\u003e, which is not general\nenough as we plan to experiment with transformer-based diffusion backbones.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eLoss\u003c/h4\u003e\u003ca id=\"user-content-loss\" class=\"anchor\" aria-label=\"Permalink: Loss\" href=\"#loss\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe loss is configured through \u003ccode\u003eloss_config\u003c/code\u003e. For standard diffusion model training, you will have to\nset \u003ccode\u003esigma_sampler_config\u003c/code\u003e.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSampler config\u003c/h4\u003e\u003ca id=\"user-content-sampler-config\" class=\"anchor\" aria-label=\"Permalink: Sampler config\" href=\"#sampler-config\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAs discussed above, the sampler is independent of the model. In the \u003ccode\u003esampler_config\u003c/code\u003e, we set the type of numerical\nsolver, number of steps, type of discretization, as well as, for example, guidance wrappers for classifier-free\nguidance.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDataset Handling\u003c/h3\u003e\u003ca id=\"user-content-dataset-handling\" class=\"anchor\" aria-label=\"Permalink: Dataset Handling\" href=\"#dataset-handling\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eFor large scale training we recommend using the data pipelines from\nour \u003ca href=\"https://github.com/Stability-AI/datapipelines\"\u003edata pipelines\u003c/a\u003e project. The project is contained in the requirement\nand automatically included when following the steps from the \u003ca href=\"#installation\"\u003eInstallation section\u003c/a\u003e.\nSmall map-style datasets should be defined here in the repository (e.g., MNIST, CIFAR-10, ...), and return a dict of\ndata keys/values,\ne.g.,\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-python notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"example = {\u0026quot;jpg\u0026quot;: x, # this is a tensor -1...1 chw\n \u0026quot;txt\u0026quot;: \u0026quot;a beautiful image\u0026quot;}\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s1\"\u003eexample\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e {\u003cspan class=\"pl-s\"\u003e\"jpg\"\u003c/span\u003e: \u003cspan class=\"pl-s1\"\u003ex\u003c/span\u003e, \u003cspan class=\"pl-c\"\u003e# this is a tensor -1...1 chw\u003c/span\u003e\n \u003cspan class=\"pl-s\"\u003e\"txt\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\"a beautiful image\"\u003c/span\u003e}\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ewhere we expect images in -1...1, channel-first format.\u003c/p\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Generative Models by Stability AI","kind":"section_1","ident_start":2,"ident_end":35,"extent_start":0,"extent_end":16324,"fully_qualified_name":"Generative Models by Stability AI","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":35}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":329,"utf16_col":0}}},{"name":"News","kind":"section_2","ident_start":68,"ident_end":72,"extent_start":65,"extent_end":5806,"fully_qualified_name":"News","ident_utf16":{"start":{"line_number":4,"utf16_col":3},"end":{"line_number":4,"utf16_col":7}},"extent_utf16":{"start":{"line_number":4,"utf16_col":0},"end":{"line_number":89,"utf16_col":0}}},{"name":"The codebase","kind":"section_2","ident_start":5809,"ident_end":5821,"extent_start":5806,"extent_end":7574,"fully_qualified_name":"The codebase","ident_utf16":{"start":{"line_number":89,"utf16_col":3},"end":{"line_number":89,"utf16_col":15}},"extent_utf16":{"start":{"line_number":89,"utf16_col":0},"end":{"line_number":117,"utf16_col":0}}},{"name":"General Philosophy","kind":"section_3","ident_start":5827,"ident_end":5845,"extent_start":5823,"extent_end":6061,"fully_qualified_name":"General Philosophy","ident_utf16":{"start":{"line_number":91,"utf16_col":4},"end":{"line_number":91,"utf16_col":22}},"extent_utf16":{"start":{"line_number":91,"utf16_col":0},"end":{"line_number":96,"utf16_col":0}}},{"name":"Changelog from the old `ldm` codebase","kind":"section_3","ident_start":6065,"ident_end":6102,"extent_start":6061,"extent_end":7574,"fully_qualified_name":"Changelog from the old `ldm` codebase","ident_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":96,"utf16_col":41}},"extent_utf16":{"start":{"line_number":96,"utf16_col":0},"end":{"line_number":117,"utf16_col":0}}},{"name":"Installation:","kind":"section_2","ident_start":7577,"ident_end":7590,"extent_start":7574,"extent_end":8319,"fully_qualified_name":"Installation:","ident_utf16":{"start":{"line_number":117,"utf16_col":3},"end":{"line_number":117,"utf16_col":16}},"extent_utf16":{"start":{"line_number":117,"utf16_col":0},"end":{"line_number":155,"utf16_col":0}}},{"name":"1. Clone the repo","kind":"section_4","ident_start":7626,"ident_end":7643,"extent_start":7621,"extent_end":7744,"fully_qualified_name":"1. Clone the repo","ident_utf16":{"start":{"line_number":121,"utf16_col":5},"end":{"line_number":121,"utf16_col":22}},"extent_utf16":{"start":{"line_number":121,"utf16_col":0},"end":{"line_number":128,"utf16_col":0}}},{"name":"2. Setting up the virtualenv","kind":"section_4","ident_start":7749,"ident_end":7777,"extent_start":7744,"extent_end":8130,"fully_qualified_name":"2. Setting up the virtualenv","ident_utf16":{"start":{"line_number":128,"utf16_col":5},"end":{"line_number":128,"utf16_col":33}},"extent_utf16":{"start":{"line_number":128,"utf16_col":0},"end":{"line_number":143,"utf16_col":0}}},{"name":"3. Install `sgm`","kind":"section_4","ident_start":8135,"ident_end":8151,"extent_start":8130,"extent_end":8182,"fully_qualified_name":"3. Install `sgm`","ident_utf16":{"start":{"line_number":143,"utf16_col":5},"end":{"line_number":143,"utf16_col":21}},"extent_utf16":{"start":{"line_number":143,"utf16_col":0},"end":{"line_number":149,"utf16_col":0}}},{"name":"4. Install `sdata` for training","kind":"section_4","ident_start":8187,"ident_end":8218,"extent_start":8182,"extent_end":8319,"fully_qualified_name":"4. Install `sdata` for training","ident_utf16":{"start":{"line_number":149,"utf16_col":5},"end":{"line_number":149,"utf16_col":36}},"extent_utf16":{"start":{"line_number":149,"utf16_col":0},"end":{"line_number":155,"utf16_col":0}}},{"name":"Packaging","kind":"section_2","ident_start":8322,"ident_end":8331,"extent_start":8319,"extent_end":8900,"fully_qualified_name":"Packaging","ident_utf16":{"start":{"line_number":155,"utf16_col":3},"end":{"line_number":155,"utf16_col":12}},"extent_utf16":{"start":{"line_number":155,"utf16_col":0},"end":{"line_number":172,"utf16_col":0}}},{"name":"Inference","kind":"section_2","ident_start":8903,"ident_end":8912,"extent_start":8900,"extent_end":12534,"fully_qualified_name":"Inference","ident_utf16":{"start":{"line_number":172,"utf16_col":3},"end":{"line_number":172,"utf16_col":12}},"extent_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"Invisible Watermark Detection","kind":"section_3","ident_start":11347,"ident_end":11376,"extent_start":11343,"extent_end":12534,"fully_qualified_name":"Invisible Watermark Detection","ident_utf16":{"start":{"line_number":219,"utf16_col":4},"end":{"line_number":219,"utf16_col":33}},"extent_utf16":{"start":{"line_number":219,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"Training:","kind":"section_2","ident_start":12537,"ident_end":12546,"extent_start":12534,"extent_end":16324,"fully_qualified_name":"Training:","ident_utf16":{"start":{"line_number":251,"utf16_col":3},"end":{"line_number":251,"utf16_col":12}},"extent_utf16":{"start":{"line_number":251,"utf16_col":0},"end":{"line_number":329,"utf16_col":0}}},{"name":"Building New Diffusion Models","kind":"section_3","ident_start":14254,"ident_end":14283,"extent_start":14250,"extent_end":15709,"fully_qualified_name":"Building New Diffusion Models","ident_utf16":{"start":{"line_number":284,"utf16_col":4},"end":{"line_number":284,"utf16_col":33}},"extent_utf16":{"start":{"line_number":284,"utf16_col":0},"end":{"line_number":314,"utf16_col":0}}},{"name":"Conditioner","kind":"section_4","ident_start":14290,"ident_end":14301,"extent_start":14285,"extent_end":15102,"fully_qualified_name":"Conditioner","ident_utf16":{"start":{"line_number":286,"utf16_col":5},"end":{"line_number":286,"utf16_col":16}},"extent_utf16":{"start":{"line_number":286,"utf16_col":0},"end":{"line_number":298,"utf16_col":0}}},{"name":"Network","kind":"section_4","ident_start":15107,"ident_end":15114,"extent_start":15102,"extent_end":15308,"fully_qualified_name":"Network","ident_utf16":{"start":{"line_number":298,"utf16_col":5},"end":{"line_number":298,"utf16_col":12}},"extent_utf16":{"start":{"line_number":298,"utf16_col":0},"end":{"line_number":303,"utf16_col":0}}},{"name":"Loss","kind":"section_4","ident_start":15313,"ident_end":15317,"extent_start":15308,"extent_end":15450,"fully_qualified_name":"Loss","ident_utf16":{"start":{"line_number":303,"utf16_col":5},"end":{"line_number":303,"utf16_col":9}},"extent_utf16":{"start":{"line_number":303,"utf16_col":0},"end":{"line_number":308,"utf16_col":0}}},{"name":"Sampler config","kind":"section_4","ident_start":15455,"ident_end":15469,"extent_start":15450,"extent_end":15709,"fully_qualified_name":"Sampler config","ident_utf16":{"start":{"line_number":308,"utf16_col":5},"end":{"line_number":308,"utf16_col":19}},"extent_utf16":{"start":{"line_number":308,"utf16_col":0},"end":{"line_number":314,"utf16_col":0}}},{"name":"Dataset Handling","kind":"section_3","ident_start":15713,"ident_end":15729,"extent_start":15709,"extent_end":16324,"fully_qualified_name":"Dataset Handling","ident_utf16":{"start":{"line_number":314,"utf16_col":4},"end":{"line_number":314,"utf16_col":20}},"extent_utf16":{"start":{"line_number":314,"utf16_col":0},"end":{"line_number":329,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/Stability-AI/generative-models/branches":{"post":"oPgwzdSXwnBMgdK-wNJgGEHQ0b6Xaeb9JIiP745OHlIxaCXjn6pZzEkKC6VfD2CA8al5S_FPYGywg1CRwbMWTw"},"/repos/preferences":{"post":"kWEHVC4viVlbu-Mnb44rTgagm6M1nHPN1BuU7B6gYr2JkicctlTcU2nQ3qk4l7GIbHdCqszLM09yb--ydL3PAw"}}},"title":"generative-models/README.md at main · Stability-AI/generative-models","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-a007d7f370d6.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-d0f0ff069004.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"copilot_conversational_ux":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_popover_file_editor_header":true,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false}}}</script>
</main>
<footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
<nav aria-label="Footer">
<h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
<ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="/security" data-view-component="true" class="Link--secondary Link">Security</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
</li>
<li class="mr-3" >
</ul>
</nav>
<ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="true"></ghcc-consent>
You can’t perform that action at this time.
<template id="site-details-dialog">
<div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
<template id="snippet-clipboard-copy-button">
</div>
<div id="js-global-screen-reader-notice" class="sr-only" aria-live="polite" aria-atomic="true" ></div>
<div id="js-global-screen-reader-notice-assertive" class="sr-only" aria-live="assertive" aria-atomic="true"></div>