Buckets:
| import"../chunks/DsnmJJEf.js";import{i as D,h as E,C as X,H as e,b as R,a as l,E as W,s as N}from"../chunks/CmJXCtRL.js";import{p as Y,o as Q,s,f as B,a as t,b as z,d as i,n as S}from"../chunks/DK803DsY.js";import{D as x}from"../chunks/icy4GrpL.js";import{H as Z}from"../chunks/BtTdhXOX.js";const A='{"title":"Sharing pipelines and models","local":"sharing-pipelines-and-models","sections":[{"title":"Models","local":"models","sections":[],"depth":2},{"title":"Scheduler","local":"scheduler","sections":[],"depth":2},{"title":"Pipeline","local":"pipeline","sections":[],"depth":2},{"title":"Privacy","local":"privacy","sections":[],"depth":2}],"depth":1}';var q=i('<meta name="hf:doc:metadata"/>'),H=i("<!> <!>",1),F=i(`<p></p> <!> <!> <!> <p>Share your pipeline or models and schedulers on the Hub with the <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin">PushToHubMixin</a> class. This class:</p> <ol><li>creates a repository on the Hub</li> <li>saves your model, scheduler, or pipeline files so they can be reloaded later</li> <li>uploads folder containing these files to the Hub</li></ol> <p>This guide will show you how to upload your files to the Hub with the <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin">PushToHubMixin</a> class.</p> <p>Log in to your Hugging Face account with your access <a href="https://huggingface.co/settings/tokens" rel="nofollow">token</a>.</p> <!> <!> <p>To push a model to the Hub, call <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> and specify the repository id of the model.</p> <!> <p>The <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> method saves the model’s <code>config.json</code> file and the weights are automatically saved as safetensors files.</p> <p>Load the model again with <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained">from_pretrained()</a>.</p> <!> <!> <p>To push a scheduler to the Hub, call <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> and specify the repository id of the scheduler.</p> <!> <p>The <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> function saves the scheduler’s <code>scheduler_config.json</code> file to the specified repository.</p> <p>Load the scheduler again with <a href="/docs/diffusers/pr_14204/en/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained">from_pretrained()</a>.</p> <!> <!> <p>To push a pipeline to the Hub, initialize the pipeline components with your desired parameters.</p> <!> <p>Pass all components to the pipeline and call <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a>.</p> <!> <p>The <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> method saves each component to a subfolder in the repository. Load the pipeline again with <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained">from_pretrained()</a>.</p> <!> <!> <p>Set <code>private=True</code> in <a href="/docs/diffusers/pr_14204/en/api/pipelines/overview#diffusers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> to keep a model, scheduler, or pipeline files private.</p> <!> <p>Private repositories are only visible to you. Other users won’t be able to clone the repository and it won’t appear in search results. Even if a user has the URL to your private repository, they’ll receive a <code>404 - Sorry, we can't find the page you are looking for</code>. You must be <a href="https://huggingface.co/docs/huggingface_hub/quick-start#login" rel="nofollow">logged in</a> to load a model from a private repository.</p> <!> <p></p>`,1);function ss(v,k){Y(k,!1),Q(()=>{new URLSearchParams(window.location.search).get("fw")}),D();var p=F();E("rl2c90",a=>{var o=q();N(o,"content",A),t(a,o)});var r=s(B(p),2);X(r,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"});var u=s(r,2);x(u,{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;",options:[{label:"Mixed",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/en/push_to_hub.ipynb"},{label:"PyTorch",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/en/pytorch/push_to_hub.ipynb"},{label:"TensorFlow",value:"https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers_doc/en/tensorflow/push_to_hub.ipynb"},{label:"Mixed",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/en/push_to_hub.ipynb"},{label:"PyTorch",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/en/pytorch/push_to_hub.ipynb"},{label:"TensorFlow",value:"https://studiolab.sagemaker.aws/import/github/huggingface/notebooks/blob/main/diffusers_doc/en/tensorflow/push_to_hub.ipynb"}]});var h=s(u,2);e(h,{title:"Sharing pipelines and models",local:"sharing-pipelines-and-models",headingTag:"h1"});var c=s(h,10);R(c,{id:"login",options:["notebook","hf CLI"],children:(a,o)=>{var U=H(),g=B(U);Z(g,{id:"login",option:"notebook",children:(n,C)=>{l(n,{code:"ZnJvbSUyMGh1Z2dpbmdmYWNlX2h1YiUyMGltcG9ydCUyMG5vdGVib29rX2xvZ2luJTBBJTBBbm90ZWJvb2tfbG9naW4oKQ==",highlighted:`<span class="hljs-keyword">from</span> huggingface_hub <span class="hljs-keyword">import</span> notebook_login | |
| notebook_login()`,lang:"py",wrap:!1})},$$slots:{default:!0}});var V=s(g,2);Z(V,{id:"login",option:"hf CLI",children:(n,C)=>{l(n,{code:"aGYlMjBhdXRoJTIwbG9naW4=",highlighted:"hf auth login",lang:"bash",wrap:!1})},$$slots:{default:!0}}),t(a,U)},$$slots:{default:!0}});var d=s(c,2);e(d,{title:"Models",local:"models",headingTag:"h2"});var M=s(d,4);l(M,{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMENvbnRyb2xOZXRNb2RlbCUwQSUwQWNvbnRyb2xuZXQlMjAlM0QlMjBDb250cm9sTmV0TW9kZWwoJTBBJTIwJTIwJTIwJTIwYmxvY2tfb3V0X2NoYW5uZWxzJTNEKDMyJTJDJTIwNjQpJTJDJTBBJTIwJTIwJTIwJTIwbGF5ZXJzX3Blcl9ibG9jayUzRDIlMkMlMEElMjAlMjAlMjAlMjBpbl9jaGFubmVscyUzRDQlMkMlMEElMjAlMjAlMjAlMjBkb3duX2Jsb2NrX3R5cGVzJTNEKCUyMkRvd25CbG9jazJEJTIyJTJDJTIwJTIyQ3Jvc3NBdHRuRG93bkJsb2NrMkQlMjIpJTJDJTBBJTIwJTIwJTIwJTIwY3Jvc3NfYXR0ZW50aW9uX2RpbSUzRDMyJTJDJTBBJTIwJTIwJTIwJTIwY29uZGl0aW9uaW5nX2VtYmVkZGluZ19vdXRfY2hhbm5lbHMlM0QoMTYlMkMlMjAzMiklMkMlMEEpJTBBY29udHJvbG5ldC5wdXNoX3RvX2h1YiglMjJteS1jb250cm9sbmV0LW1vZGVsJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ControlNetModel | |
| controlnet = ControlNetModel( | |
| block_out_channels=(<span class="hljs-number">32</span>, <span class="hljs-number">64</span>), | |
| layers_per_block=<span class="hljs-number">2</span>, | |
| in_channels=<span class="hljs-number">4</span>, | |
| down_block_types=(<span class="hljs-string">"DownBlock2D"</span>, <span class="hljs-string">"CrossAttnDownBlock2D"</span>), | |
| cross_attention_dim=<span class="hljs-number">32</span>, | |
| conditioning_embedding_out_channels=(<span class="hljs-number">16</span>, <span class="hljs-number">32</span>), | |
| ) | |
| controlnet.push_to_hub(<span class="hljs-string">"my-controlnet-model"</span>)`,lang:"py",wrap:!1});var J=s(M,6);l(J,{code:"bW9kZWwlMjAlM0QlMjBDb250cm9sTmV0TW9kZWwuZnJvbV9wcmV0cmFpbmVkKCUyMnlvdXItbmFtZXNwYWNlJTJGbXktY29udHJvbG5ldC1tb2RlbCUyMik=",highlighted:'model = ControlNetModel.from_pretrained(<span class="hljs-string">"your-namespace/my-controlnet-model"</span>)',lang:"py",wrap:!1});var b=s(J,2);e(b,{title:"Scheduler",local:"scheduler",headingTag:"h2"});var T=s(b,4);l(T,{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMERESU1TY2hlZHVsZXIlMEElMEFzY2hlZHVsZXIlMjAlM0QlMjBERElNU2NoZWR1bGVyKCUwQSUyMCUyMCUyMCUyMGJldGFfc3RhcnQlM0QwLjAwMDg1JTJDJTBBJTIwJTIwJTIwJTIwYmV0YV9lbmQlM0QwLjAxMiUyQyUwQSUyMCUyMCUyMCUyMGJldGFfc2NoZWR1bGUlM0QlMjJzY2FsZWRfbGluZWFyJTIyJTJDJTBBJTIwJTIwJTIwJTIwY2xpcF9zYW1wbGUlM0RGYWxzZSUyQyUwQSUyMCUyMCUyMCUyMHNldF9hbHBoYV90b19vbmUlM0RGYWxzZSUyQyUwQSklMEFzY2hlZHVsZXIucHVzaF90b19odWIoJTIybXktY29udHJvbG5ldC1zY2hlZHVsZXIlMjIp",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DDIMScheduler | |
| scheduler = DDIMScheduler( | |
| beta_start=<span class="hljs-number">0.00085</span>, | |
| beta_end=<span class="hljs-number">0.012</span>, | |
| beta_schedule=<span class="hljs-string">"scaled_linear"</span>, | |
| clip_sample=<span class="hljs-literal">False</span>, | |
| set_alpha_to_one=<span class="hljs-literal">False</span>, | |
| ) | |
| scheduler.push_to_hub(<span class="hljs-string">"my-controlnet-scheduler"</span>)`,lang:"py",wrap:!1});var y=s(T,6);l(y,{code:"c2NoZWR1bGVyJTIwJTNEJTIwRERJTVNjaGVkdWxlci5mcm9tX3ByZXRyYWluZWQoJTIyeW91ci1uYW1lcHNhY2UlMkZteS1jb250cm9sbmV0LXNjaGVkdWxlciUyMik=",highlighted:'scheduler = DDIMScheduler.from_pretrained(<span class="hljs-string">"your-namepsace/my-controlnet-scheduler"</span>)',lang:"py",wrap:!1});var w=s(y,2);e(w,{title:"Pipeline",local:"pipeline",headingTag:"h2"});var m=s(w,4);l(m,{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMCglMEElMjAlMjAlMjAlMjBVTmV0MkRDb25kaXRpb25Nb2RlbCUyQyUwQSUyMCUyMCUyMCUyMEF1dG9lbmNvZGVyS0wlMkMlMEElMjAlMjAlMjAlMjBERElNU2NoZWR1bGVyJTJDJTBBJTIwJTIwJTIwJTIwU3RhYmxlRGlmZnVzaW9uUGlwZWxpbmUlMkMlMEEpJTBBZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMENMSVBUZXh0TW9kZWwlMkMlMjBDTElQVGV4dENvbmZpZyUyQyUyMENMSVBUb2tlbml6ZXIlMEElMEF1bmV0JTIwJTNEJTIwVU5ldDJEQ29uZGl0aW9uTW9kZWwoJTBBJTIwJTIwJTIwJTIwYmxvY2tfb3V0X2NoYW5uZWxzJTNEKDMyJTJDJTIwNjQpJTJDJTBBJTIwJTIwJTIwJTIwbGF5ZXJzX3Blcl9ibG9jayUzRDIlMkMlMEElMjAlMjAlMjAlMjBzYW1wbGVfc2l6ZSUzRDMyJTJDJTBBJTIwJTIwJTIwJTIwaW5fY2hhbm5lbHMlM0Q0JTJDJTBBJTIwJTIwJTIwJTIwb3V0X2NoYW5uZWxzJTNENCUyQyUwQSUyMCUyMCUyMCUyMGRvd25fYmxvY2tfdHlwZXMlM0QoJTIyRG93bkJsb2NrMkQlMjIlMkMlMjAlMjJDcm9zc0F0dG5Eb3duQmxvY2syRCUyMiklMkMlMEElMjAlMjAlMjAlMjB1cF9ibG9ja190eXBlcyUzRCglMjJDcm9zc0F0dG5VcEJsb2NrMkQlMjIlMkMlMjAlMjJVcEJsb2NrMkQlMjIpJTJDJTBBJTIwJTIwJTIwJTIwY3Jvc3NfYXR0ZW50aW9uX2RpbSUzRDMyJTJDJTBBKSUwQSUwQXNjaGVkdWxlciUyMCUzRCUyMERESU1TY2hlZHVsZXIoJTBBJTIwJTIwJTIwJTIwYmV0YV9zdGFydCUzRDAuMDAwODUlMkMlMEElMjAlMjAlMjAlMjBiZXRhX2VuZCUzRDAuMDEyJTJDJTBBJTIwJTIwJTIwJTIwYmV0YV9zY2hlZHVsZSUzRCUyMnNjYWxlZF9saW5lYXIlMjIlMkMlMEElMjAlMjAlMjAlMjBjbGlwX3NhbXBsZSUzREZhbHNlJTJDJTBBJTIwJTIwJTIwJTIwc2V0X2FscGhhX3RvX29uZSUzREZhbHNlJTJDJTBBKSUwQSUwQXZhZSUyMCUzRCUyMEF1dG9lbmNvZGVyS0woJTBBJTIwJTIwJTIwJTIwYmxvY2tfb3V0X2NoYW5uZWxzJTNEJTVCMzIlMkMlMjA2NCU1RCUyQyUwQSUyMCUyMCUyMCUyMGluX2NoYW5uZWxzJTNEMyUyQyUwQSUyMCUyMCUyMCUyMG91dF9jaGFubmVscyUzRDMlMkMlMEElMjAlMjAlMjAlMjBkb3duX2Jsb2NrX3R5cGVzJTNEJTVCJTIyRG93bkVuY29kZXJCbG9jazJEJTIyJTJDJTIwJTIyRG93bkVuY29kZXJCbG9jazJEJTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwdXBfYmxvY2tfdHlwZXMlM0QlNUIlMjJVcERlY29kZXJCbG9jazJEJTIyJTJDJTIwJTIyVXBEZWNvZGVyQmxvY2syRCUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMGxhdGVudF9jaGFubmVscyUzRDQlMkMlMEEpJTBBJTBBdGV4dF9lbmNvZGVyX2NvbmZpZyUyMCUzRCUyMENMSVBUZXh0Q29uZmlnKCUwQSUyMCUyMCUyMCUyMGJvc190b2tlbl9pZCUzRDAlMkMlMEElMjAlMjAlMjAlMjBlb3NfdG9rZW5faWQlM0QyJTJDJTBBJTIwJTIwJTIwJTIwaGlkZGVuX3NpemUlM0QzMiUyQyUwQSUyMCUyMCUyMCUyMGludGVybWVkaWF0ZV9zaXplJTNEMzclMkMlMEElMjAlMjAlMjAlMjBsYXllcl9ub3JtX2VwcyUzRDFlLTA1JTJDJTBBJTIwJTIwJTIwJTIwbnVtX2F0dGVudGlvbl9oZWFkcyUzRDQlMkMlMEElMjAlMjAlMjAlMjBudW1faGlkZGVuX2xheWVycyUzRDUlMkMlMEElMjAlMjAlMjAlMjBwYWRfdG9rZW5faWQlM0QxJTJDJTBBJTIwJTIwJTIwJTIwdm9jYWJfc2l6ZSUzRDEwMDAlMkMlMEEpJTBBdGV4dF9lbmNvZGVyJTIwJTNEJTIwQ0xJUFRleHRNb2RlbCh0ZXh0X2VuY29kZXJfY29uZmlnKSUwQXRva2VuaXplciUyMCUzRCUyMENMSVBUb2tlbml6ZXIuZnJvbV9wcmV0cmFpbmVkKCUyMmhmLWludGVybmFsLXRlc3RpbmclMkZ0aW55LXJhbmRvbS1jbGlwJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> ( | |
| UNet2DConditionModel, | |
| AutoencoderKL, | |
| DDIMScheduler, | |
| StableDiffusionPipeline, | |
| ) | |
| <span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> CLIPTextModel, CLIPTextConfig, CLIPTokenizer | |
| unet = UNet2DConditionModel( | |
| block_out_channels=(<span class="hljs-number">32</span>, <span class="hljs-number">64</span>), | |
| layers_per_block=<span class="hljs-number">2</span>, | |
| sample_size=<span class="hljs-number">32</span>, | |
| in_channels=<span class="hljs-number">4</span>, | |
| out_channels=<span class="hljs-number">4</span>, | |
| down_block_types=(<span class="hljs-string">"DownBlock2D"</span>, <span class="hljs-string">"CrossAttnDownBlock2D"</span>), | |
| up_block_types=(<span class="hljs-string">"CrossAttnUpBlock2D"</span>, <span class="hljs-string">"UpBlock2D"</span>), | |
| cross_attention_dim=<span class="hljs-number">32</span>, | |
| ) | |
| scheduler = DDIMScheduler( | |
| beta_start=<span class="hljs-number">0.00085</span>, | |
| beta_end=<span class="hljs-number">0.012</span>, | |
| beta_schedule=<span class="hljs-string">"scaled_linear"</span>, | |
| clip_sample=<span class="hljs-literal">False</span>, | |
| set_alpha_to_one=<span class="hljs-literal">False</span>, | |
| ) | |
| vae = AutoencoderKL( | |
| block_out_channels=[<span class="hljs-number">32</span>, <span class="hljs-number">64</span>], | |
| in_channels=<span class="hljs-number">3</span>, | |
| out_channels=<span class="hljs-number">3</span>, | |
| down_block_types=[<span class="hljs-string">"DownEncoderBlock2D"</span>, <span class="hljs-string">"DownEncoderBlock2D"</span>], | |
| up_block_types=[<span class="hljs-string">"UpDecoderBlock2D"</span>, <span class="hljs-string">"UpDecoderBlock2D"</span>], | |
| latent_channels=<span class="hljs-number">4</span>, | |
| ) | |
| text_encoder_config = CLIPTextConfig( | |
| bos_token_id=<span class="hljs-number">0</span>, | |
| eos_token_id=<span class="hljs-number">2</span>, | |
| hidden_size=<span class="hljs-number">32</span>, | |
| intermediate_size=<span class="hljs-number">37</span>, | |
| layer_norm_eps=<span class="hljs-number">1e-05</span>, | |
| num_attention_heads=<span class="hljs-number">4</span>, | |
| num_hidden_layers=<span class="hljs-number">5</span>, | |
| pad_token_id=<span class="hljs-number">1</span>, | |
| vocab_size=<span class="hljs-number">1000</span>, | |
| ) | |
| text_encoder = CLIPTextModel(text_encoder_config) | |
| tokenizer = CLIPTokenizer.from_pretrained(<span class="hljs-string">"hf-internal-testing/tiny-random-clip"</span>)`,lang:"py",wrap:!1});var f=s(m,4);l(f,{code:"Y29tcG9uZW50cyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMnVuZXQlMjIlM0ElMjB1bmV0JTJDJTBBJTIwJTIwJTIwJTIwJTIyc2NoZWR1bGVyJTIyJTNBJTIwc2NoZWR1bGVyJTJDJTBBJTIwJTIwJTIwJTIwJTIydmFlJTIyJTNBJTIwdmFlJTJDJTBBJTIwJTIwJTIwJTIwJTIydGV4dF9lbmNvZGVyJTIyJTNBJTIwdGV4dF9lbmNvZGVyJTJDJTBBJTIwJTIwJTIwJTIwJTIydG9rZW5pemVyJTIyJTNBJTIwdG9rZW5pemVyJTJDJTBBJTIwJTIwJTIwJTIwJTIyc2FmZXR5X2NoZWNrZXIlMjIlM0ElMjBOb25lJTJDJTBBJTIwJTIwJTIwJTIwJTIyZmVhdHVyZV9leHRyYWN0b3IlMjIlM0ElMjBOb25lJTJDJTBBJTdEJTBBJTBBcGlwZWxpbmUlMjAlM0QlMjBTdGFibGVEaWZmdXNpb25QaXBlbGluZSgqKmNvbXBvbmVudHMpJTBBcGlwZWxpbmUucHVzaF90b19odWIoJTIybXktcGlwZWxpbmUlMjIp",highlighted:`components = { | |
| <span class="hljs-string">"unet"</span>: unet, | |
| <span class="hljs-string">"scheduler"</span>: scheduler, | |
| <span class="hljs-string">"vae"</span>: vae, | |
| <span class="hljs-string">"text_encoder"</span>: text_encoder, | |
| <span class="hljs-string">"tokenizer"</span>: tokenizer, | |
| <span class="hljs-string">"safety_checker"</span>: <span class="hljs-literal">None</span>, | |
| <span class="hljs-string">"feature_extractor"</span>: <span class="hljs-literal">None</span>, | |
| } | |
| pipeline = StableDiffusionPipeline(**components) | |
| pipeline.push_to_hub(<span class="hljs-string">"my-pipeline"</span>)`,lang:"py",wrap:!1});var j=s(f,4);l(j,{code:"cGlwZWxpbmUlMjAlM0QlMjBTdGFibGVEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyeW91ci1uYW1lc3BhY2UlMkZteS1waXBlbGluZSUyMik=",highlighted:'pipeline = StableDiffusionPipeline.from_pretrained(<span class="hljs-string">"your-namespace/my-pipeline"</span>)',lang:"py",wrap:!1});var I=s(j,2);e(I,{title:"Privacy",local:"privacy",headingTag:"h2"});var _=s(I,4);l(_,{code:"Y29udHJvbG5ldC5wdXNoX3RvX2h1YiglMjJteS1jb250cm9sbmV0LW1vZGVsLXByaXZhdGUlMjIlMkMlMjBwcml2YXRlJTNEVHJ1ZSk=",highlighted:'controlnet.push_to_hub(<span class="hljs-string">"my-controlnet-model-private"</span>, private=<span class="hljs-literal">True</span>)',lang:"py",wrap:!1});var G=s(_,4);W(G,{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/using-diffusers/push_to_hub.md"}),S(2),t(v,p),z()}export{ss as component}; | |
Xet Storage Details
- Size:
- 16.8 kB
- Xet hash:
- ff1ec60afbe07fe22cf599ba3cc4dd1ea265afd55b482d2d81876bac2f6c2509
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.