import{s as ft,o as ht,n as ct}from"../chunks/scheduler.182ea377.js";import{S as pt,i as mt,g as d,s as r,r as g,A as gt,h as a,f as s,c as o,j as U,u as _,x as c,k as I,y as n,a as i,v as b,d as v,t as M,w as y}from"../chunks/index.abf12888.js";import{T as _t}from"../chunks/Tip.230e2334.js";import{D as ce}from"../chunks/Docstring.93f6f462.js";import{C as bt}from"../chunks/CodeBlock.57fe6e13.js";import{E as vt}from"../chunks/ExampleCodeBlock.658f5cd6.js";import{H as he}from"../chunks/Heading.16916d63.js";function Mt(Q){let l,w=`To use private or <a href="https://huggingface.co/docs/hub/models-gated#gated-models" rel="nofollow">gated models</a>, log-in with
<code>huggingface-cli login</code>. You can also activate the special
<a href="https://huggingface.co/diffusers/installation.html#offline-mode" rel="nofollow">“offline-mode”</a> to use this method in a
firewalled environment.`;return{c(){l=d("p"),l.innerHTML=w},l(p){l=a(p,"P",{"data-svelte-h":!0}),c(l)!=="svelte-19a77yg"&&(l.innerHTML=w)},m(p,m){i(p,l,m)},p:ct,d(p){p&&s(l)}}}function yt(Q){let l,w="Examples:",p,m,x;return m=new bt({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFVOZXQyRENvbmRpdGlvbk1vZGVsJTBBJTBBdW5ldCUyMCUzRCUyMFVOZXQyRENvbmRpdGlvbk1vZGVsLmZyb21fcHJldHJhaW5lZCglMjJzdGFiaWxpdHlhaSUyRnN0YWJsZS1kaWZmdXNpb24tMiUyMiUyQyUyMHN1YmZvbGRlciUzRCUyMnVuZXQlMjIpJTBBJTBBJTIzJTIwUHVzaCUyMHRoZSUyMCU2MHVuZXQlNjAlMjB0byUyMHlvdXIlMjBuYW1lc3BhY2UlMjB3aXRoJTIwdGhlJTIwbmFtZSUyMCUyMm15LWZpbmV0dW5lZC11bmV0JTIyLiUwQXVuZXQucHVzaF90b19odWIoJTIybXktZmluZXR1bmVkLXVuZXQlMjIpJTBBJTBBJTIzJTIwUHVzaCUyMHRoZSUyMCU2MHVuZXQlNjAlMjB0byUyMGFuJTIwb3JnYW5pemF0aW9uJTIwd2l0aCUyMHRoZSUyMG5hbWUlMjAlMjJteS1maW5ldHVuZWQtdW5ldCUyMi4lMEF1bmV0LnB1c2hfdG9faHViKCUyMnlvdXItb3JnJTJGbXktZmluZXR1bmVkLXVuZXQlMjIp",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained(<span class="hljs-string">&quot;stabilityai/stable-diffusion-2&quot;</span>, subfolder=<span class="hljs-string">&quot;unet&quot;</span>)

<span class="hljs-comment"># Push the \`unet\` to your namespace with the name &quot;my-finetuned-unet&quot;.</span>
unet.push_to_hub(<span class="hljs-string">&quot;my-finetuned-unet&quot;</span>)

<span class="hljs-comment"># Push the \`unet\` to an organization with the name &quot;my-finetuned-unet&quot;.</span>
unet.push_to_hub(<span class="hljs-string">&quot;your-org/my-finetuned-unet&quot;</span>)`,wrap:!1}}),{c(){l=d("p"),l.textContent=w,p=r(),g(m.$$.fragment)},l(f){l=a(f,"P",{"data-svelte-h":!0}),c(l)!=="svelte-kvfsh7"&&(l.textContent=w),p=o(f),_(m.$$.fragment,f)},m(f,$){i(f,l,$),i(f,p,$),b(m,f,$),x=!0},p:ct,i(f){x||(v(m.$$.fragment,f),x=!0)},o(f){M(m.$$.fragment,f),x=!1},d(f){f&&(s(l),s(p)),y(m,f)}}}function xt(Q){let l,w,p,m,x,f,$,Ke="🤗 Diffusers provides many scheduler functions for the diffusion process. A scheduler takes a model’s output (the sample which the diffusion process is iterating on) and a timestep to return a denoised sample. The timestep is important because it dictates where in the diffusion process the step is; data is generated by iterating forward <em>n</em> timesteps and inference occurs by propagating backward through the timesteps. Based on the timestep, a scheduler may be <em>discrete</em> in which case the timestep is an <code>int</code> or <em>continuous</em> in which case the timestep is a <code>float</code>.",pe,A,Xe="Depending on the context, a scheduler defines how to iteratively add noise to an image or how to update a sample based on a model’s output:",me,E,Oe="<li>during <em>training</em>, a scheduler adds noise (there are different algorithms for how to add noise) to a sample to train a diffusion model</li> <li>during <em>inference</em>, a scheduler defines how to update a sample based on a pretrained model’s output</li>",ge,q,Re='Many schedulers are implemented from the <a href="https://github.com/crowsonkb/k-diffusion" rel="nofollow">k-diffusion</a> library by <a href="https://github.com/crowsonkb/" rel="nofollow">Katherine Crowson</a>, and they’re also widely used in A1111. To help you map the schedulers from k-diffusion and A1111 to the schedulers in 🤗 Diffusers, take a look at the table below:',_e,Z,Ge='<thead><tr><th>A1111/k-diffusion</th> <th>🤗 Diffusers</th> <th>Usage</th></tr></thead> <tbody><tr><td>DPM++ 2M</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td></td></tr> <tr><td>DPM++ 2M Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM++ 2M SDE</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>algorithm_type=&quot;sde-dpmsolver++&quot;</code></td></tr> <tr><td>DPM++ 2M SDE Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/multistep_dpm_solver#diffusers.DPMSolverMultistepScheduler">DPMSolverMultistepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code> and <code>algorithm_type=&quot;sde-dpmsolver++&quot;</code></td></tr> <tr><td>DPM++ 2S a</td> <td>N/A</td> <td>very similar to  <code>DPMSolverSinglestepScheduler</code></td></tr> <tr><td>DPM++ 2S a Karras</td> <td>N/A</td> <td>very similar to  <code>DPMSolverSinglestepScheduler(use_karras_sigmas=True, ...)</code></td></tr> <tr><td>DPM++ SDE</td> <td><a href="/docs/diffusers/main/en/api/schedulers/singlestep_dpm_solver#diffusers.DPMSolverSinglestepScheduler">DPMSolverSinglestepScheduler</a></td> <td></td></tr> <tr><td>DPM++ SDE Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/singlestep_dpm_solver#diffusers.DPMSolverSinglestepScheduler">DPMSolverSinglestepScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM2</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete#diffusers.KDPM2DiscreteScheduler">KDPM2DiscreteScheduler</a></td> <td></td></tr> <tr><td>DPM2 Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete#diffusers.KDPM2DiscreteScheduler">KDPM2DiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM2 a</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete_ancestral#diffusers.KDPM2AncestralDiscreteScheduler">KDPM2AncestralDiscreteScheduler</a></td> <td></td></tr> <tr><td>DPM2 a Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/dpm_discrete_ancestral#diffusers.KDPM2AncestralDiscreteScheduler">KDPM2AncestralDiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>DPM adaptive</td> <td>N/A</td> <td></td></tr> <tr><td>DPM fast</td> <td>N/A</td> <td></td></tr> <tr><td>Euler</td> <td><a href="/docs/diffusers/main/en/api/schedulers/euler#diffusers.EulerDiscreteScheduler">EulerDiscreteScheduler</a></td> <td></td></tr> <tr><td>Euler a</td> <td><a href="/docs/diffusers/main/en/api/schedulers/euler_ancestral#diffusers.EulerAncestralDiscreteScheduler">EulerAncestralDiscreteScheduler</a></td> <td></td></tr> <tr><td>Heun</td> <td><a href="/docs/diffusers/main/en/api/schedulers/heun#diffusers.HeunDiscreteScheduler">HeunDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS</td> <td><a href="/docs/diffusers/main/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS Karras</td> <td><a href="/docs/diffusers/main/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a></td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>N/A</td> <td><a href="/docs/diffusers/main/en/api/schedulers/deis#diffusers.DEISMultistepScheduler">DEISMultistepScheduler</a></td> <td></td></tr> <tr><td>N/A</td> <td><a href="/docs/diffusers/main/en/api/schedulers/unipc#diffusers.UniPCMultistepScheduler">UniPCMultistepScheduler</a></td> <td></td></tr></tbody>',be,J,Qe='All schedulers are built from the base <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> class which implements low level utilities shared by all schedulers.',ve,j,Me,u,V,Le,Y,Ye="Base class for all schedulers.",Ue,ee,et=`<a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> contains common functions shared by all schedulers such as general loading and saving
functionalities.`,Ie,te,tt=`<a href="/docs/diffusers/main/en/api/configuration#diffusers.ConfigMixin">ConfigMixin</a> takes care of storing the configuration attributes (like <code>num_train_timesteps</code>) that are passed to
the scheduler’s <code>__init__</code> function, and the attributes can be accessed by <code>scheduler.config.num_train_timesteps</code>.`,Ae,se,st="Class attributes:",Ee,re,rt=`<li><strong>_compatibles</strong> (<code>List[str]</code>) — A list of scheduler classes that are compatible with the parent scheduler
class. Use <a href="/docs/diffusers/main/en/api/configuration#diffusers.ConfigMixin.from_config">from_config()</a> to load a different compatible scheduler class (should be overridden
by parent class).</li>`,qe,T,z,Ze,oe,ot="Instantiate a scheduler from a pre-defined JSON configuration file in a local directory or Hub repository.",Je,k,je,C,B,Ve,ie,it=`Save a scheduler configuration object to a directory so that it can be reloaded using the
<a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained">from_pretrained()</a> class method.`,ye,F,xe,D,N,ze,ne,nt="Base class for the output of a scheduler’s <code>step</code> function.",$e,W,Se,K,dt="<code>KarrasDiffusionSchedulers</code> are a broad generalization of schedulers in 🤗 Diffusers. The schedulers in this class are distinguished at a high level by their noise sampling strategy, the type of network and scaling, the training strategy, and how the loss is weighed.",we,X,at='The different schedulers in this class, depending on the ordinary differential equations (ODE) solver type, fall into the above taxonomy and provide a good abstraction for the design of the main schedulers implemented in 🤗 Diffusers. The schedulers in this class are given <a href="https://github.com/huggingface/diffusers/blob/a69754bb879ed55b9b6dc9dd0b3cf4fa4124c765/src/diffusers/schedulers/scheduling_utils.py#L32" rel="nofollow">here</a>.',Te,O,Pe,S,R,Be,de,lt="A Mixin to push a model, scheduler, or pipeline to the Hugging Face Hub.",Fe,P,G,Ne,ae,ut="Upload model, scheduler, or pipeline files to the 🤗 Hugging Face Hub.",We,L,De,fe,He;return x=new he({props:{title:"Schedulers",local:"schedulers",headingTag:"h1"}}),j=new he({props:{title:"SchedulerMixin",local:"diffusers.SchedulerMixin",headingTag:"h2"}}),V=new ce({props:{name:"class diffusers.SchedulerMixin",anchor:"diffusers.SchedulerMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L63"}}),z=new ce({props:{name:"from_pretrained",anchor:"diffusers.SchedulerMixin.from_pretrained",parameters:[{name:"pretrained_model_name_or_path",val:": typing.Union[str, os.PathLike, NoneType] = None"},{name:"subfolder",val:": typing.Optional[str] = None"},{name:"return_unused_kwargs",val:" = False"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.SchedulerMixin.from_pretrained.pretrained_model_name_or_path",description:`<strong>pretrained_model_name_or_path</strong> (<code>str</code> or <code>os.PathLike</code>, <em>optional</em>) &#x2014;
Can be either:</p>
<ul>
<li>A string, the <em>model id</em> (for example <code>google/ddpm-celebahq-256</code>) of a pretrained model hosted on
the Hub.</li>
<li>A path to a <em>directory</em> (for example <code>./my_model_directory</code>) containing the scheduler
configuration saved with <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.SchedulerMixin.save_pretrained">save_pretrained()</a>.</li>
</ul>`,name:"pretrained_model_name_or_path"},{anchor:"diffusers.SchedulerMixin.from_pretrained.subfolder",description:`<strong>subfolder</strong> (<code>str</code>, <em>optional</em>) &#x2014;
The subfolder location of a model file within a larger model repository on the Hub or locally.`,name:"subfolder"},{anchor:"diffusers.SchedulerMixin.from_pretrained.return_unused_kwargs",description:`<strong>return_unused_kwargs</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether kwargs that are not consumed by the Python class should be returned or not.`,name:"return_unused_kwargs"},{anchor:"diffusers.SchedulerMixin.from_pretrained.cache_dir",description:`<strong>cache_dir</strong> (<code>Union[str, os.PathLike]</code>, <em>optional</em>) &#x2014;
Path to a directory where a downloaded pretrained model configuration is cached if the standard cache
is not used.`,name:"cache_dir"},{anchor:"diffusers.SchedulerMixin.from_pretrained.force_download",description:`<strong>force_download</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to force the (re-)download of the model weights and configuration files, overriding the
cached versions if they exist.`,name:"force_download"},{anchor:"diffusers.SchedulerMixin.from_pretrained.resume_download",description:`<strong>resume_download</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to resume downloading the model weights and configuration files. If set to <code>False</code>, any
incompletely downloaded files are deleted.`,name:"resume_download"},{anchor:"diffusers.SchedulerMixin.from_pretrained.proxies",description:`<strong>proxies</strong> (<code>Dict[str, str]</code>, <em>optional</em>) &#x2014;
A dictionary of proxy servers to use by protocol or endpoint, for example, <code>{&apos;http&apos;: &apos;foo.bar:3128&apos;, &apos;http://hostname&apos;: &apos;foo.bar:4012&apos;}</code>. The proxies are used on each request.`,name:"proxies"},{anchor:"diffusers.SchedulerMixin.from_pretrained.output_loading_info(bool,",description:`<strong>output_loading_info(<code>bool</code>,</strong> <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to also return a dictionary containing missing keys, unexpected keys and error messages.`,name:"output_loading_info(bool,"},{anchor:"diffusers.SchedulerMixin.from_pretrained.local_files_only(bool,",description:`<strong>local_files_only(<code>bool</code>,</strong> <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether to only load local model weights and configuration files or not. If set to <code>True</code>, the model
won&#x2019;t be downloaded from the Hub.`,name:"local_files_only(bool,"},{anchor:"diffusers.SchedulerMixin.from_pretrained.use_auth_token",description:`<strong>use_auth_token</strong> (<code>str</code> or <em>bool</em>, <em>optional</em>) &#x2014;
The token to use as HTTP bearer authorization for remote files. If <code>True</code>, the token generated from
<code>diffusers-cli login</code> (stored in <code>~/.huggingface</code>) is used.`,name:"use_auth_token"},{anchor:"diffusers.SchedulerMixin.from_pretrained.revision",description:`<strong>revision</strong> (<code>str</code>, <em>optional</em>, defaults to <code>&quot;main&quot;</code>) &#x2014;
The specific model version to use. It can be a branch name, a tag name, a commit id, or any identifier
allowed by Git.`,name:"revision"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L83"}}),k=new _t({props:{$$slots:{default:[Mt]},$$scope:{ctx:Q}}}),B=new ce({props:{name:"save_pretrained",anchor:"diffusers.SchedulerMixin.save_pretrained",parameters:[{name:"save_directory",val:": typing.Union[str, os.PathLike]"},{name:"push_to_hub",val:": bool = False"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.SchedulerMixin.save_pretrained.save_directory",description:`<strong>save_directory</strong> (<code>str</code> or <code>os.PathLike</code>) &#x2014;
Directory where the configuration JSON file will be saved (will be created if it does not exist).`,name:"save_directory"},{anchor:"diffusers.SchedulerMixin.save_pretrained.push_to_hub",description:`<strong>push_to_hub</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to push your model to the Hugging Face Hub after saving it. You can specify the
repository you want to push to with <code>repo_id</code> (will default to the name of <code>save_directory</code> in your
namespace).`,name:"push_to_hub"},{anchor:"diffusers.SchedulerMixin.save_pretrained.kwargs",description:`<strong>kwargs</strong> (<code>Dict[str, Any]</code>, <em>optional</em>) &#x2014;
Additional keyword arguments passed along to the <a href="/docs/diffusers/main/en/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> method.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L149"}}),F=new he({props:{title:"SchedulerOutput",local:"diffusers.schedulers.scheduling_utils.SchedulerOutput",headingTag:"h2"}}),N=new ce({props:{name:"class diffusers.schedulers.scheduling_utils.SchedulerOutput",anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput",parameters:[{name:"prev_sample",val:": FloatTensor"}],parametersDescription:[{anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput.prev_sample",description:`<strong>prev_sample</strong> (<code>torch.FloatTensor</code> of shape <code>(batch_size, num_channels, height, width)</code> for images) &#x2014;
Computed sample <code>(x_{t-1})</code> of previous timestep. <code>prev_sample</code> should be used as next model input in the
denoising loop.`,name:"prev_sample"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_utils.py#L50"}}),W=new he({props:{title:"KarrasDiffusionSchedulers",local:"karrasdiffusionschedulers",headingTag:"h2"}}),O=new he({props:{title:"PushToHubMixin",local:"diffusers.utils.PushToHubMixin",headingTag:"h2"}}),R=new ce({props:{name:"class diffusers.utils.PushToHubMixin",anchor:"diffusers.utils.PushToHubMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L373"}}),G=new ce({props:{name:"push_to_hub",anchor:"diffusers.utils.PushToHubMixin.push_to_hub",parameters:[{name:"repo_id",val:": str"},{name:"commit_message",val:": typing.Optional[str] = None"},{name:"private",val:": typing.Optional[bool] = None"},{name:"token",val:": typing.Optional[str] = None"},{name:"create_pr",val:": bool = False"},{name:"safe_serialization",val:": bool = True"},{name:"variant",val:": typing.Optional[str] = None"}],parametersDescription:[{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.repo_id",description:`<strong>repo_id</strong> (<code>str</code>) &#x2014;
The name of the repository you want to push your model, scheduler, or pipeline files to. It should
contain your organization name when pushing to an organization. <code>repo_id</code> can also be a path to a local
directory.`,name:"repo_id"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.commit_message",description:`<strong>commit_message</strong> (<code>str</code>, <em>optional</em>) &#x2014;
Message to commit while pushing. Default to <code>&quot;Upload {object}&quot;</code>.`,name:"commit_message"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.private",description:`<strong>private</strong> (<code>bool</code>, <em>optional</em>) &#x2014;
Whether or not the repository created should be private.`,name:"private"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.token",description:`<strong>token</strong> (<code>str</code>, <em>optional</em>) &#x2014;
The token to use as HTTP bearer authorization for remote files. The token generated when running
<code>huggingface-cli login</code> (stored in <code>~/.huggingface</code>).`,name:"token"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.create_pr",description:`<strong>create_pr</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) &#x2014;
Whether or not to create a PR with the uploaded files or directly commit.`,name:"create_pr"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.safe_serialization",description:`<strong>safe_serialization</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) &#x2014;
Whether or not to convert the model weights to the <code>safetensors</code> format.`,name:"safe_serialization"},{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.variant",description:`<strong>variant</strong> (<code>str</code>, <em>optional</em>) &#x2014;
If specified, weights are saved in the format <code>pytorch_model.&lt;variant&gt;.bin</code>.`,name:"variant"}],source:"https://github.com/huggingface/diffusers/blob/main/src/diffusers/utils/hub_utils.py#L402"}}),L=new vt({props:{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.example",$$slots:{default:[yt]},$$scope:{ctx:Q}}}),{c(){l=d("meta"),w=r(),p=d("p"),m=r(),g(x.$$.fragment),f=r(),$=d("p"),$.innerHTML=Ke,pe=r(),A=d("p"),A.textContent=Xe,me=r(),E=d("ul"),E.innerHTML=Oe,ge=r(),q=d("p"),q.innerHTML=Re,_e=r(),Z=d("table"),Z.innerHTML=Ge,be=r(),J=d("p"),J.innerHTML=Qe,ve=r(),g(j.$$.fragment),Me=r(),u=d("div"),g(V.$$.fragment),Le=r(),Y=d("p"),Y.textContent=Ye,Ue=r(),ee=d("p"),ee.innerHTML=et,Ie=r(),te=d("p"),te.innerHTML=tt,Ae=r(),se=d("p"),se.textContent=st,Ee=r(),re=d("ul"),re.innerHTML=rt,qe=r(),T=d("div"),g(z.$$.fragment),Ze=r(),oe=d("p"),oe.textContent=ot,Je=r(),g(k.$$.fragment),je=r(),C=d("div"),g(B.$$.fragment),Ve=r(),ie=d("p"),ie.innerHTML=it,ye=r(),g(F.$$.fragment),xe=r(),D=d("div"),g(N.$$.fragment),ze=r(),ne=d("p"),ne.innerHTML=nt,$e=r(),g(W.$$.fragment),Se=r(),K=d("p"),K.innerHTML=dt,we=r(),X=d("p"),X.innerHTML=at,Te=r(),g(O.$$.fragment),Pe=r(),S=d("div"),g(R.$$.fragment),Be=r(),de=d("p"),de.textContent=lt,Fe=r(),P=d("div"),g(G.$$.fragment),Ne=r(),ae=d("p"),ae.textContent=ut,We=r(),g(L.$$.fragment),De=r(),fe=d("p"),this.h()},l(e){const t=gt("svelte-u9bgzb",document.head);l=a(t,"META",{name:!0,content:!0}),t.forEach(s),w=o(e),p=a(e,"P",{}),U(p).forEach(s),m=o(e),_(x.$$.fragment,e),f=o(e),$=a(e,"P",{"data-svelte-h":!0}),c($)!=="svelte-1lgybvx"&&($.innerHTML=Ke),pe=o(e),A=a(e,"P",{"data-svelte-h":!0}),c(A)!=="svelte-9ndbal"&&(A.textContent=Xe),me=o(e),E=a(e,"UL",{"data-svelte-h":!0}),c(E)!=="svelte-1n3qq9y"&&(E.innerHTML=Oe),ge=o(e),q=a(e,"P",{"data-svelte-h":!0}),c(q)!=="svelte-1ph3rhz"&&(q.innerHTML=Re),_e=o(e),Z=a(e,"TABLE",{"data-svelte-h":!0}),c(Z)!=="svelte-j0ll4v"&&(Z.innerHTML=Ge),be=o(e),J=a(e,"P",{"data-svelte-h":!0}),c(J)!=="svelte-ta0lmu"&&(J.innerHTML=Qe),ve=o(e),_(j.$$.fragment,e),Me=o(e),u=a(e,"DIV",{class:!0});var h=U(u);_(V.$$.fragment,h),Le=o(h),Y=a(h,"P",{"data-svelte-h":!0}),c(Y)!=="svelte-vehnxn"&&(Y.textContent=Ye),Ue=o(h),ee=a(h,"P",{"data-svelte-h":!0}),c(ee)!=="svelte-1r3aj0s"&&(ee.innerHTML=et),Ie=o(h),te=a(h,"P",{"data-svelte-h":!0}),c(te)!=="svelte-zbfzbj"&&(te.innerHTML=tt),Ae=o(h),se=a(h,"P",{"data-svelte-h":!0}),c(se)!=="svelte-wz8va1"&&(se.textContent=st),Ee=o(h),re=a(h,"UL",{"data-svelte-h":!0}),c(re)!=="svelte-csf69p"&&(re.innerHTML=rt),qe=o(h),T=a(h,"DIV",{class:!0});var H=U(T);_(z.$$.fragment,H),Ze=o(H),oe=a(H,"P",{"data-svelte-h":!0}),c(oe)!=="svelte-ekqb0i"&&(oe.textContent=ot),Je=o(H),_(k.$$.fragment,H),H.forEach(s),je=o(h),C=a(h,"DIV",{class:!0});var ke=U(C);_(B.$$.fragment,ke),Ve=o(ke),ie=a(ke,"P",{"data-svelte-h":!0}),c(ie)!=="svelte-qowt52"&&(ie.innerHTML=it),ke.forEach(s),h.forEach(s),ye=o(e),_(F.$$.fragment,e),xe=o(e),D=a(e,"DIV",{class:!0});var Ce=U(D);_(N.$$.fragment,Ce),ze=o(Ce),ne=a(Ce,"P",{"data-svelte-h":!0}),c(ne)!=="svelte-6ojmkw"&&(ne.innerHTML=nt),Ce.forEach(s),$e=o(e),_(W.$$.fragment,e),Se=o(e),K=a(e,"P",{"data-svelte-h":!0}),c(K)!=="svelte-1hq6rpu"&&(K.innerHTML=dt),we=o(e),X=a(e,"P",{"data-svelte-h":!0}),c(X)!=="svelte-1lt2uhz"&&(X.innerHTML=at),Te=o(e),_(O.$$.fragment,e),Pe=o(e),S=a(e,"DIV",{class:!0});var le=U(S);_(R.$$.fragment,le),Be=o(le),de=a(le,"P",{"data-svelte-h":!0}),c(de)!=="svelte-7y8zei"&&(de.textContent=lt),Fe=o(le),P=a(le,"DIV",{class:!0});var ue=U(P);_(G.$$.fragment,ue),Ne=o(ue),ae=a(ue,"P",{"data-svelte-h":!0}),c(ae)!=="svelte-5nfhmh"&&(ae.textContent=ut),We=o(ue),_(L.$$.fragment,ue),ue.forEach(s),le.forEach(s),De=o(e),fe=a(e,"P",{}),U(fe).forEach(s),this.h()},h(){I(l,"name","hf:doc:metadata"),I(l,"content",$t),I(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),I(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8")},m(e,t){n(document.head,l),i(e,w,t),i(e,p,t),i(e,m,t),b(x,e,t),i(e,f,t),i(e,$,t),i(e,pe,t),i(e,A,t),i(e,me,t),i(e,E,t),i(e,ge,t),i(e,q,t),i(e,_e,t),i(e,Z,t),i(e,be,t),i(e,J,t),i(e,ve,t),b(j,e,t),i(e,Me,t),i(e,u,t),b(V,u,null),n(u,Le),n(u,Y),n(u,Ue),n(u,ee),n(u,Ie),n(u,te),n(u,Ae),n(u,se),n(u,Ee),n(u,re),n(u,qe),n(u,T),b(z,T,null),n(T,Ze),n(T,oe),n(T,Je),b(k,T,null),n(u,je),n(u,C),b(B,C,null),n(C,Ve),n(C,ie),i(e,ye,t),b(F,e,t),i(e,xe,t),i(e,D,t),b(N,D,null),n(D,ze),n(D,ne),i(e,$e,t),b(W,e,t),i(e,Se,t),i(e,K,t),i(e,we,t),i(e,X,t),i(e,Te,t),b(O,e,t),i(e,Pe,t),i(e,S,t),b(R,S,null),n(S,Be),n(S,de),n(S,Fe),n(S,P),b(G,P,null),n(P,Ne),n(P,ae),n(P,We),b(L,P,null),i(e,De,t),i(e,fe,t),He=!0},p(e,[t]){const h={};t&2&&(h.$$scope={dirty:t,ctx:e}),k.$set(h);const H={};t&2&&(H.$$scope={dirty:t,ctx:e}),L.$set(H)},i(e){He||(v(x.$$.fragment,e),v(j.$$.fragment,e),v(V.$$.fragment,e),v(z.$$.fragment,e),v(k.$$.fragment,e),v(B.$$.fragment,e),v(F.$$.fragment,e),v(N.$$.fragment,e),v(W.$$.fragment,e),v(O.$$.fragment,e),v(R.$$.fragment,e),v(G.$$.fragment,e),v(L.$$.fragment,e),He=!0)},o(e){M(x.$$.fragment,e),M(j.$$.fragment,e),M(V.$$.fragment,e),M(z.$$.fragment,e),M(k.$$.fragment,e),M(B.$$.fragment,e),M(F.$$.fragment,e),M(N.$$.fragment,e),M(W.$$.fragment,e),M(O.$$.fragment,e),M(R.$$.fragment,e),M(G.$$.fragment,e),M(L.$$.fragment,e),He=!1},d(e){e&&(s(w),s(p),s(m),s(f),s($),s(pe),s(A),s(me),s(E),s(ge),s(q),s(_e),s(Z),s(be),s(J),s(ve),s(Me),s(u),s(ye),s(xe),s(D),s($e),s(Se),s(K),s(we),s(X),s(Te),s(Pe),s(S),s(De),s(fe)),s(l),y(x,e),y(j,e),y(V),y(z),y(k),y(B),y(F,e),y(N),y(W,e),y(O,e),y(R),y(G),y(L)}}}const $t='{"title":"Schedulers","local":"schedulers","sections":[{"title":"SchedulerMixin","local":"diffusers.SchedulerMixin","sections":[],"depth":2},{"title":"SchedulerOutput","local":"diffusers.schedulers.scheduling_utils.SchedulerOutput","sections":[],"depth":2},{"title":"KarrasDiffusionSchedulers","local":"karrasdiffusionschedulers","sections":[],"depth":2},{"title":"PushToHubMixin","local":"diffusers.utils.PushToHubMixin","sections":[],"depth":2}],"depth":1}';function St(Q){return ht(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Lt extends pt{constructor(l){super(),mt(this,l,St,xt,ft,{})}}export{Lt as component};
