import{s as vt,o as Mt,n as bt}from"../chunks/scheduler.8c3d61f6.js";import{S as yt,i as $t,g as n,s as i,r as m,A as xt,h as d,f as s,c as o,j as U,u as g,x as c,k as q,y as a,a as r,v as _,d as b,t as v,w as M}from"../chunks/index.da70eac4.js";import{T as St}from"../chunks/Tip.1d9b8c37.js";import{D as pe}from"../chunks/Docstring.6b390b9a.js";import{C as wt}from"../chunks/CodeBlock.00a903b3.js";import{E as Tt}from"../chunks/ExampleCodeBlock.db12be95.js";import{H as me,E as Dt}from"../chunks/EditOnGithub.1e64e623.js";function Pt(te){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=n("p"),l.innerHTML=w},l(p){l=d(p,"P",{"data-svelte-h":!0}),c(l)!=="svelte-19a77yg"&&(l.innerHTML=w)},m(p,y){r(p,l,y)},p:bt,d(p){p&&s(l)}}}function Ht(te){let l,w="Examples:",p,y,$;return y=new wt({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=n("p"),l.textContent=w,p=i(),m(y.$$.fragment)},l(f){l=d(f,"P",{"data-svelte-h":!0}),c(l)!=="svelte-kvfsh7"&&(l.textContent=w),p=o(f),g(y.$$.fragment,f)},m(f,x){r(f,l,x),r(f,p,x),_(y,f,x),$=!0},p:bt,i(f){$||(b(y.$$.fragment,f),$=!0)},o(f){v(y.$$.fragment,f),$=!1},d(f){f&&(s(l),s(p)),M(y,f)}}}function kt(te){let l,w,p,y,$,f,x,Ye="🤗 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>.",_e,E,et="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:",be,A,tt="<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>",ve,I,st='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:',Me,Z,rt='<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/pr_10009/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/pr_10009/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/pr_10009/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/pr_10009/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/pr_10009/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/pr_10009/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/pr_10009/en/api/schedulers/dpm_discrete#diffusers.KDPM2DiscreteScheduler">KDPM2DiscreteScheduler</a></td> <td></td></tr> <tr><td>DPM2 Karras</td> <td><a href="/docs/diffusers/pr_10009/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/pr_10009/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/pr_10009/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/pr_10009/en/api/schedulers/euler#diffusers.EulerDiscreteScheduler">EulerDiscreteScheduler</a></td> <td></td></tr> <tr><td>Euler a</td> <td><a href="/docs/diffusers/pr_10009/en/api/schedulers/euler_ancestral#diffusers.EulerAncestralDiscreteScheduler">EulerAncestralDiscreteScheduler</a></td> <td></td></tr> <tr><td>Heun</td> <td><a href="/docs/diffusers/pr_10009/en/api/schedulers/heun#diffusers.HeunDiscreteScheduler">HeunDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS</td> <td><a href="/docs/diffusers/pr_10009/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a></td> <td></td></tr> <tr><td>LMS Karras</td> <td><a href="/docs/diffusers/pr_10009/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/pr_10009/en/api/schedulers/deis#diffusers.DEISMultistepScheduler">DEISMultistepScheduler</a></td> <td></td></tr> <tr><td>N/A</td> <td><a href="/docs/diffusers/pr_10009/en/api/schedulers/unipc#diffusers.UniPCMultistepScheduler">UniPCMultistepScheduler</a></td> <td></td></tr></tbody>',ye,J,$e,V,it="<thead><tr><th>A1111/k-diffusion</th> <th>🤗 Diffusers</th></tr></thead> <tbody><tr><td>Karras</td> <td>init with <code>use_karras_sigmas=True</code></td></tr> <tr><td>sgm_uniform</td> <td>init with <code>timestep_spacing=&quot;trailing&quot;</code></td></tr> <tr><td>simple</td> <td>init with <code>timestep_spacing=&quot;trailing&quot;</code></td></tr> <tr><td>exponential</td> <td>init with <code>timestep_spacing=&quot;linspace&quot;</code>, <code>use_exponential_sigmas=True</code></td></tr> <tr><td>beta</td> <td>init with <code>timestep_spacing=&quot;linspace&quot;</code>, <code>use_beta_sigmas=True</code></td></tr></tbody>",xe,N,ot='All schedulers are built from the base <a href="/docs/diffusers/pr_10009/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> class which implements low level utilities shared by all schedulers.',Se,j,we,u,z,Ze,se,nt="Base class for all schedulers.",Je,re,dt=`<a href="/docs/diffusers/pr_10009/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a> contains common functions shared by all schedulers such as general loading and saving
functionalities.`,Ve,ie,at=`<a href="/docs/diffusers/pr_10009/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>.`,Ne,oe,lt="Class attributes:",je,ne,ut=`<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/pr_10009/en/api/configuration#diffusers.ConfigMixin.from_config">from_config()</a> to load a different compatible scheduler class (should be overridden
by parent class).</li>`,ze,T,B,Be,de,ct="Instantiate a scheduler from a pre-defined JSON configuration file in a local directory or Hub repository.",We,k,Ke,C,W,Fe,ae,ft=`Save a scheduler configuration object to a directory so that it can be reloaded using the
<a href="/docs/diffusers/pr_10009/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained">from_pretrained()</a> class method.`,Te,K,De,P,F,Xe,le,ht="Base class for the output of a scheduler’s <code>step</code> function.",Pe,X,He,O,pt="<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.",ke,R,mt='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>.',Ce,G,Le,S,Q,Oe,ue,gt="A Mixin to push a model, scheduler, or pipeline to the Hugging Face Hub.",Re,D,Y,Ge,ce,_t="Upload model, scheduler, or pipeline files to the 🤗 Hugging Face Hub.",Qe,L,Ue,ee,qe,ge,Ee;return $=new me({props:{title:"Schedulers",local:"schedulers",headingTag:"h1"}}),J=new me({props:{title:"Noise schedules and schedule types",local:"noise-schedules-and-schedule-types",headingTag:"h2"}}),j=new me({props:{title:"SchedulerMixin",local:"diffusers.SchedulerMixin",headingTag:"h2"}}),z=new pe({props:{name:"class diffusers.SchedulerMixin",anchor:"diffusers.SchedulerMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_10009/src/diffusers/schedulers/scheduling_utils.py#L74"}}),B=new pe({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/pr_10009/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.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.token",description:`<strong>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:"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/vr_10009/src/diffusers/schedulers/scheduling_utils.py#L94"}}),k=new St({props:{$$slots:{default:[Pt]},$$scope:{ctx:te}}}),W=new pe({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/pr_10009/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> method.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_10009/src/diffusers/schedulers/scheduling_utils.py#L159"}}),K=new me({props:{title:"SchedulerOutput",local:"diffusers.schedulers.scheduling_utils.SchedulerOutput",headingTag:"h2"}}),F=new pe({props:{name:"class diffusers.schedulers.scheduling_utils.SchedulerOutput",anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput",parameters:[{name:"prev_sample",val:": Tensor"}],parametersDescription:[{anchor:"diffusers.schedulers.scheduling_utils.SchedulerOutput.prev_sample",description:`<strong>prev_sample</strong> (<code>torch.Tensor</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/vr_10009/src/diffusers/schedulers/scheduling_utils.py#L60"}}),X=new me({props:{title:"KarrasDiffusionSchedulers",local:"karrasdiffusionschedulers",headingTag:"h2"}}),G=new me({props:{title:"PushToHubMixin",local:"diffusers.utils.PushToHubMixin",headingTag:"h2"}}),Q=new pe({props:{name:"class diffusers.utils.PushToHubMixin",anchor:"diffusers.utils.PushToHubMixin",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_10009/src/diffusers/utils/hub_utils.py#L517"}}),Y=new pe({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/vr_10009/src/diffusers/utils/hub_utils.py#L546"}}),L=new Tt({props:{anchor:"diffusers.utils.PushToHubMixin.push_to_hub.example",$$slots:{default:[Ht]},$$scope:{ctx:te}}}),ee=new Dt({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/schedulers/overview.md"}}),{c(){l=n("meta"),w=i(),p=n("p"),y=i(),m($.$$.fragment),f=i(),x=n("p"),x.innerHTML=Ye,_e=i(),E=n("p"),E.textContent=et,be=i(),A=n("ul"),A.innerHTML=tt,ve=i(),I=n("p"),I.innerHTML=st,Me=i(),Z=n("table"),Z.innerHTML=rt,ye=i(),m(J.$$.fragment),$e=i(),V=n("table"),V.innerHTML=it,xe=i(),N=n("p"),N.innerHTML=ot,Se=i(),m(j.$$.fragment),we=i(),u=n("div"),m(z.$$.fragment),Ze=i(),se=n("p"),se.textContent=nt,Je=i(),re=n("p"),re.innerHTML=dt,Ve=i(),ie=n("p"),ie.innerHTML=at,Ne=i(),oe=n("p"),oe.textContent=lt,je=i(),ne=n("ul"),ne.innerHTML=ut,ze=i(),T=n("div"),m(B.$$.fragment),Be=i(),de=n("p"),de.textContent=ct,We=i(),m(k.$$.fragment),Ke=i(),C=n("div"),m(W.$$.fragment),Fe=i(),ae=n("p"),ae.innerHTML=ft,Te=i(),m(K.$$.fragment),De=i(),P=n("div"),m(F.$$.fragment),Xe=i(),le=n("p"),le.innerHTML=ht,Pe=i(),m(X.$$.fragment),He=i(),O=n("p"),O.innerHTML=pt,ke=i(),R=n("p"),R.innerHTML=mt,Ce=i(),m(G.$$.fragment),Le=i(),S=n("div"),m(Q.$$.fragment),Oe=i(),ue=n("p"),ue.textContent=gt,Re=i(),D=n("div"),m(Y.$$.fragment),Ge=i(),ce=n("p"),ce.textContent=_t,Qe=i(),m(L.$$.fragment),Ue=i(),m(ee.$$.fragment),qe=i(),ge=n("p"),this.h()},l(e){const t=xt("svelte-u9bgzb",document.head);l=d(t,"META",{name:!0,content:!0}),t.forEach(s),w=o(e),p=d(e,"P",{}),U(p).forEach(s),y=o(e),g($.$$.fragment,e),f=o(e),x=d(e,"P",{"data-svelte-h":!0}),c(x)!=="svelte-1lgybvx"&&(x.innerHTML=Ye),_e=o(e),E=d(e,"P",{"data-svelte-h":!0}),c(E)!=="svelte-9ndbal"&&(E.textContent=et),be=o(e),A=d(e,"UL",{"data-svelte-h":!0}),c(A)!=="svelte-1n3qq9y"&&(A.innerHTML=tt),ve=o(e),I=d(e,"P",{"data-svelte-h":!0}),c(I)!=="svelte-1ph3rhz"&&(I.innerHTML=st),Me=o(e),Z=d(e,"TABLE",{"data-svelte-h":!0}),c(Z)!=="svelte-f0h5pb"&&(Z.innerHTML=rt),ye=o(e),g(J.$$.fragment,e),$e=o(e),V=d(e,"TABLE",{"data-svelte-h":!0}),c(V)!=="svelte-tktglw"&&(V.innerHTML=it),xe=o(e),N=d(e,"P",{"data-svelte-h":!0}),c(N)!=="svelte-f7ld0y"&&(N.innerHTML=ot),Se=o(e),g(j.$$.fragment,e),we=o(e),u=d(e,"DIV",{class:!0});var h=U(u);g(z.$$.fragment,h),Ze=o(h),se=d(h,"P",{"data-svelte-h":!0}),c(se)!=="svelte-vehnxn"&&(se.textContent=nt),Je=o(h),re=d(h,"P",{"data-svelte-h":!0}),c(re)!=="svelte-xnqz6o"&&(re.innerHTML=dt),Ve=o(h),ie=d(h,"P",{"data-svelte-h":!0}),c(ie)!=="svelte-1dfrg8r"&&(ie.innerHTML=at),Ne=o(h),oe=d(h,"P",{"data-svelte-h":!0}),c(oe)!=="svelte-wz8va1"&&(oe.textContent=lt),je=o(h),ne=d(h,"UL",{"data-svelte-h":!0}),c(ne)!=="svelte-1w6mnmp"&&(ne.innerHTML=ut),ze=o(h),T=d(h,"DIV",{class:!0});var H=U(T);g(B.$$.fragment,H),Be=o(H),de=d(H,"P",{"data-svelte-h":!0}),c(de)!=="svelte-ekqb0i"&&(de.textContent=ct),We=o(H),g(k.$$.fragment,H),H.forEach(s),Ke=o(h),C=d(h,"DIV",{class:!0});var Ae=U(C);g(W.$$.fragment,Ae),Fe=o(Ae),ae=d(Ae,"P",{"data-svelte-h":!0}),c(ae)!=="svelte-1qjtb5y"&&(ae.innerHTML=ft),Ae.forEach(s),h.forEach(s),Te=o(e),g(K.$$.fragment,e),De=o(e),P=d(e,"DIV",{class:!0});var Ie=U(P);g(F.$$.fragment,Ie),Xe=o(Ie),le=d(Ie,"P",{"data-svelte-h":!0}),c(le)!=="svelte-6ojmkw"&&(le.innerHTML=ht),Ie.forEach(s),Pe=o(e),g(X.$$.fragment,e),He=o(e),O=d(e,"P",{"data-svelte-h":!0}),c(O)!=="svelte-1hq6rpu"&&(O.innerHTML=pt),ke=o(e),R=d(e,"P",{"data-svelte-h":!0}),c(R)!=="svelte-1lt2uhz"&&(R.innerHTML=mt),Ce=o(e),g(G.$$.fragment,e),Le=o(e),S=d(e,"DIV",{class:!0});var fe=U(S);g(Q.$$.fragment,fe),Oe=o(fe),ue=d(fe,"P",{"data-svelte-h":!0}),c(ue)!=="svelte-7y8zei"&&(ue.textContent=gt),Re=o(fe),D=d(fe,"DIV",{class:!0});var he=U(D);g(Y.$$.fragment,he),Ge=o(he),ce=d(he,"P",{"data-svelte-h":!0}),c(ce)!=="svelte-5nfhmh"&&(ce.textContent=_t),Qe=o(he),g(L.$$.fragment,he),he.forEach(s),fe.forEach(s),Ue=o(e),g(ee.$$.fragment,e),qe=o(e),ge=d(e,"P",{}),U(ge).forEach(s),this.h()},h(){q(l,"name","hf:doc:metadata"),q(l,"content",Ct),q(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(C,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(u,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),q(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){a(document.head,l),r(e,w,t),r(e,p,t),r(e,y,t),_($,e,t),r(e,f,t),r(e,x,t),r(e,_e,t),r(e,E,t),r(e,be,t),r(e,A,t),r(e,ve,t),r(e,I,t),r(e,Me,t),r(e,Z,t),r(e,ye,t),_(J,e,t),r(e,$e,t),r(e,V,t),r(e,xe,t),r(e,N,t),r(e,Se,t),_(j,e,t),r(e,we,t),r(e,u,t),_(z,u,null),a(u,Ze),a(u,se),a(u,Je),a(u,re),a(u,Ve),a(u,ie),a(u,Ne),a(u,oe),a(u,je),a(u,ne),a(u,ze),a(u,T),_(B,T,null),a(T,Be),a(T,de),a(T,We),_(k,T,null),a(u,Ke),a(u,C),_(W,C,null),a(C,Fe),a(C,ae),r(e,Te,t),_(K,e,t),r(e,De,t),r(e,P,t),_(F,P,null),a(P,Xe),a(P,le),r(e,Pe,t),_(X,e,t),r(e,He,t),r(e,O,t),r(e,ke,t),r(e,R,t),r(e,Ce,t),_(G,e,t),r(e,Le,t),r(e,S,t),_(Q,S,null),a(S,Oe),a(S,ue),a(S,Re),a(S,D),_(Y,D,null),a(D,Ge),a(D,ce),a(D,Qe),_(L,D,null),r(e,Ue,t),_(ee,e,t),r(e,qe,t),r(e,ge,t),Ee=!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){Ee||(b($.$$.fragment,e),b(J.$$.fragment,e),b(j.$$.fragment,e),b(z.$$.fragment,e),b(B.$$.fragment,e),b(k.$$.fragment,e),b(W.$$.fragment,e),b(K.$$.fragment,e),b(F.$$.fragment,e),b(X.$$.fragment,e),b(G.$$.fragment,e),b(Q.$$.fragment,e),b(Y.$$.fragment,e),b(L.$$.fragment,e),b(ee.$$.fragment,e),Ee=!0)},o(e){v($.$$.fragment,e),v(J.$$.fragment,e),v(j.$$.fragment,e),v(z.$$.fragment,e),v(B.$$.fragment,e),v(k.$$.fragment,e),v(W.$$.fragment,e),v(K.$$.fragment,e),v(F.$$.fragment,e),v(X.$$.fragment,e),v(G.$$.fragment,e),v(Q.$$.fragment,e),v(Y.$$.fragment,e),v(L.$$.fragment,e),v(ee.$$.fragment,e),Ee=!1},d(e){e&&(s(w),s(p),s(y),s(f),s(x),s(_e),s(E),s(be),s(A),s(ve),s(I),s(Me),s(Z),s(ye),s($e),s(V),s(xe),s(N),s(Se),s(we),s(u),s(Te),s(De),s(P),s(Pe),s(He),s(O),s(ke),s(R),s(Ce),s(Le),s(S),s(Ue),s(qe),s(ge)),s(l),M($,e),M(J,e),M(j,e),M(z),M(B),M(k),M(W),M(K,e),M(F),M(X,e),M(G,e),M(Q),M(Y),M(L),M(ee,e)}}}const Ct='{"title":"Schedulers","local":"schedulers","sections":[{"title":"Noise schedules and schedule types","local":"noise-schedules-and-schedule-types","sections":[],"depth":2},{"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 Lt(te){return Mt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Vt extends yt{constructor(l){super(),$t(this,l,Lt,kt,vt,{})}}export{Vt as component};
