Buckets:

rtrm's picture
download
raw
24.7 kB
import{s as It,o as Rt,n as it}from"../chunks/scheduler.182ea377.js";import{S as Gt,i as Ht,g as r,s as a,r as c,A as Vt,h as p,f as l,c as i,j as kt,u as f,x as o,k as Xt,y as Bt,a as n,v as u,d,t as h,w as M}from"../chunks/index.abf12888.js";import{T as at}from"../chunks/Tip.230e2334.js";import{C as g}from"../chunks/CodeBlock.57fe6e13.js";import{H as fe,E as Nt}from"../chunks/EditOnGithub.9b8e78e4.js";function Et(b){let s,y='🤗 Accelerate is a library for helping you train on multiple GPUs/TPUs or with mixed-precision. It’ll automatically configure your training setup based on your hardware and environment. Take a look at the 🤗 Accelerate <a href="https://huggingface.co/docs/accelerate/quicktour" rel="nofollow">Quick tour</a> to learn more.';return{c(){s=r("p"),s.innerHTML=y},l(m){s=p(m,"P",{"data-svelte-h":!0}),o(s)!=="svelte-1qbiqsn"&&(s.innerHTML=y)},m(m,w){n(m,s,w)},p:it,d(m){m&&l(s)}}}function Ft(b){let s,y='The following sections highlight parts of the training scripts that are important for understanding how to modify it, but it doesn’t cover every aspect of the <a href="https://github.com/huggingface/diffusers/blob/main/examples/wuerstchen/text_to_image/train_text_to_image_prior.py" rel="nofollow">script</a> in detail. If you’re interested in learning more, feel free to read through the scripts and let us know if you have any questions or concerns.';return{c(){s=r("p"),s.innerHTML=y},l(m){s=p(m,"P",{"data-svelte-h":!0}),o(s)!=="svelte-1fbavkc"&&(s.innerHTML=y)},m(m,w){n(m,s,w)},p:it,d(m){m&&l(s)}}}function Qt(b){let s,y="To monitor training progress with Weights &amp; Biases, add the <code>--report_to=wandb</code> parameter to the training command. You’ll also need to add the <code>--validation_prompt</code> to the training command to keep track of results. This can be really useful for debugging the model and viewing intermediate results.";return{c(){s=r("p"),s.innerHTML=y},l(m){s=p(m,"P",{"data-svelte-h":!0}),o(s)!=="svelte-1sfnrue"&&(s.innerHTML=y)},m(m,w){n(m,s,w)},p:it,d(m){m&&l(s)}}}function At(b){let s,y,m,w,$,ue,U,st='The <a href="https://hf.co/papers/2306.00637" rel="nofollow">Wuerstchen</a> model drastically reduces computational costs by compressing the latent space by 42x, without compromising image quality and accelerating inference. During training, Wuerstchen uses two models (VQGAN + autoencoder) to compress the latents, and then a third model (text-conditioned latent diffusion model) is conditioned on this highly compressed space to generate an image.',de,j,rt="To fit the prior model into GPU memory and to speedup training, try enabling <code>gradient_accumulation_steps</code>, <code>gradient_checkpointing</code>, and <code>mixed_precision</code> respectively.",he,x,pt='This guide explores the <a href="https://github.com/huggingface/diffusers/blob/main/examples/wuerstchen/text_to_image/train_text_to_image_prior.py" rel="nofollow">train_text_to_image_prior.py</a> script to help you become more familiar with it, and how you can adapt it for your own use-case.',Me,Z,ot="Before running the script, make sure you install the library from source:",ye,W,ge,C,mt="Then navigate to the example folder containing the training script and install the required dependencies for the script you’re using:",we,v,be,_,_e,k,ct="Initialize an 🤗 Accelerate environment:",Te,X,Je,I,ft="To setup a default 🤗 Accelerate environment without choosing any configurations:",$e,R,Ue,G,ut="Or if your environment doesn’t support an interactive shell, like a notebook, you can use:",je,H,xe,V,dt='Lastly, if you want to train a model on your own dataset, take a look at the <a href="create_dataset">Create a dataset for training</a> guide to learn how to create a dataset that works with the training script.',Ze,T,We,B,Ce,N,ht='The training scripts provides many parameters to help you customize your training run. All of the parameters and their descriptions are found in the <a href="https://github.com/huggingface/diffusers/blob/6e68c71503682c8693cb5b06a4da4911dfd655ee/examples/wuerstchen/text_to_image/train_text_to_image_prior.py#L192" rel="nofollow"><code>parse_args()</code></a> function. It provides default values for each parameter, such as the training batch size and learning rate, but you can also set your own values in the training command if you’d like.',ve,E,Mt="For example, to speedup training with mixed precision using the fp16 format, add the <code>--mixed_precision</code> parameter to the training command:",ke,F,Xe,Q,yt='Most of the parameters are identical to the parameters in the <a href="text2image#script-parameters">Text-to-image</a> training guide, so let’s dive right into the Wuerstchen training script!',Ie,A,Re,Y,gt='The training script is also similar to the <a href="text2image#training-script">Text-to-image</a> training guide, but it’s been modified to support Wuerstchen. This guide focuses on the code that is unique to the Wuerstchen training script.',Ge,L,wt='The <a href="https://github.com/huggingface/diffusers/blob/6e68c71503682c8693cb5b06a4da4911dfd655ee/examples/wuerstchen/text_to_image/train_text_to_image_prior.py#L441" rel="nofollow"><code>main()</code></a> function starts by initializing the image encoder - an <a href="https://github.com/huggingface/diffusers/blob/main/examples/wuerstchen/text_to_image/modeling_efficient_net_encoder.py" rel="nofollow">EfficientNet</a> - in addition to the usual scheduler and tokenizer.',He,S,Ve,z,bt="You’ll also load the <code>WuerstchenPrior</code> model for optimization.",Be,q,Ne,P,_t='Next, you’ll apply some <a href="https://github.com/huggingface/diffusers/blob/65ef7a0c5c594b4f84092e328fbdd73183613b30/examples/wuerstchen/text_to_image/train_text_to_image_prior.py#L656" rel="nofollow">transforms</a> to the images and <a href="https://github.com/huggingface/diffusers/blob/65ef7a0c5c594b4f84092e328fbdd73183613b30/examples/wuerstchen/text_to_image/train_text_to_image_prior.py#L637" rel="nofollow">tokenize</a> the captions:',Ee,D,Fe,K,Tt='Finally, the <a href="https://github.com/huggingface/diffusers/blob/65ef7a0c5c594b4f84092e328fbdd73183613b30/examples/wuerstchen/text_to_image/train_text_to_image_prior.py#L656" rel="nofollow">training loop</a> handles compressing the images to latent space with the <code>EfficientNetEncoder</code>, adding noise to the latents, and predicting the noise residual with the <code>WuerstchenPrior</code> model.',Qe,O,Ae,ee,Jt='If you want to learn more about how the training loop works, check out the <a href="../using-diffusers/write_own_pipeline">Understanding pipelines, models and schedulers</a> tutorial which breaks down the basic pattern of the denoising process.',Ye,te,Le,le,$t="Once you’ve made all your changes or you’re okay with the default configuration, you’re ready to launch the training script! 🚀",Se,ne,Ut='Set the <code>DATASET_NAME</code> environment variable to the dataset name from the Hub. This guide uses the <a href="https://huggingface.co/datasets/lambdalabs/naruto-blip-captions" rel="nofollow">Naruto BLIP captions</a> dataset, but you can create and train on your own datasets as well (see the <a href="create_dataset">Create a dataset for training</a> guide).',ze,J,qe,ae,Pe,ie,jt="Once training is complete, you can use your newly trained model for inference!",De,se,Ke,re,Oe,pe,xt="Congratulations on training a Wuerstchen model! To learn more about how to use your new model, the following may be helpful:",et,oe,Zt='<li>Take a look at the <a href="../api/pipelines/wuerstchen#text-to-image-generation">Wuerstchen</a> API documentation to learn more about how to use the pipeline for text-to-image generation and its limitations.</li>',tt,me,lt,ce,nt;return $=new fe({props:{title:"Wuerstchen",local:"wuerstchen",headingTag:"h1"}}),W=new g({props:{code:"Z2l0JTIwY2xvbmUlMjBodHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZodWdnaW5nZmFjZSUyRmRpZmZ1c2VycyUwQWNkJTIwZGlmZnVzZXJzJTBBcGlwJTIwaW5zdGFsbCUyMC4=",highlighted:`git <span class="hljs-built_in">clone</span> https://github.com/huggingface/diffusers
<span class="hljs-built_in">cd</span> diffusers
pip install .`,wrap:!1}}),v=new g({props:{code:"Y2QlMjBleGFtcGxlcyUyRnd1ZXJzdGNoZW4lMkZ0ZXh0X3RvX2ltYWdlJTBBcGlwJTIwaW5zdGFsbCUyMC1yJTIwcmVxdWlyZW1lbnRzLnR4dA==",highlighted:`<span class="hljs-built_in">cd</span> examples/wuerstchen/text_to_image
pip install -r requirements.txt`,wrap:!1}}),_=new at({props:{$$slots:{default:[Et]},$$scope:{ctx:b}}}),X=new g({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZw==",highlighted:"accelerate config",wrap:!1}}),R=new g({props:{code:"YWNjZWxlcmF0ZSUyMGNvbmZpZyUyMGRlZmF1bHQ=",highlighted:"accelerate config default",wrap:!1}}),H=new g({props:{code:"ZnJvbSUyMGFjY2VsZXJhdGUudXRpbHMlMjBpbXBvcnQlMjB3cml0ZV9iYXNpY19jb25maWclMEElMEF3cml0ZV9iYXNpY19jb25maWcoKQ==",highlighted:`<span class="hljs-keyword">from</span> accelerate.utils <span class="hljs-keyword">import</span> write_basic_config
write_basic_config()`,wrap:!1}}),T=new at({props:{$$slots:{default:[Ft]},$$scope:{ctx:b}}}),B=new fe({props:{title:"Script parameters",local:"script-parameters",headingTag:"h2"}}),F=new g({props:{code:"YWNjZWxlcmF0ZSUyMGxhdW5jaCUyMHRyYWluX3RleHRfdG9faW1hZ2VfcHJpb3IucHklMjAlNUMlMEElMjAlMjAtLW1peGVkX3ByZWNpc2lvbiUzRCUyMmZwMTYlMjI=",highlighted:`accelerate launch train_text_to_image_prior.py \\
--mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span>`,wrap:!1}}),A=new fe({props:{title:"Training script",local:"training-script",headingTag:"h2"}}),S=new g({props:{code:"d2l0aCUyMENvbnRleHRNYW5hZ2VycyhkZWVwc3BlZWRfemVyb19pbml0X2Rpc2FibGVkX2NvbnRleHRfbWFuYWdlcigpKSUzQSUwQSUyMCUyMCUyMCUyMHByZXRyYWluZWRfY2hlY2twb2ludF9maWxlJTIwJTNEJTIwaGZfaHViX2Rvd25sb2FkKCUyMmRvbWUyNzIlMkZ3dWVyc3RjaGVuJTIyJTJDJTIwZmlsZW5hbWUlM0QlMjJtb2RlbF92Ml9zdGFnZV9iLnB0JTIyKSUwQSUyMCUyMCUyMCUyMHN0YXRlX2RpY3QlMjAlM0QlMjB0b3JjaC5sb2FkKHByZXRyYWluZWRfY2hlY2twb2ludF9maWxlJTJDJTIwbWFwX2xvY2F0aW9uJTNEJTIyY3B1JTIyKSUwQSUyMCUyMCUyMCUyMGltYWdlX2VuY29kZXIlMjAlM0QlMjBFZmZpY2llbnROZXRFbmNvZGVyKCklMEElMjAlMjAlMjAlMjBpbWFnZV9lbmNvZGVyLmxvYWRfc3RhdGVfZGljdChzdGF0ZV9kaWN0JTVCJTIyZWZmbmV0X3N0YXRlX2RpY3QlMjIlNUQpJTBBJTIwJTIwJTIwJTIwaW1hZ2VfZW5jb2Rlci5ldmFsKCk=",highlighted:`<span class="hljs-keyword">with</span> ContextManagers(deepspeed_zero_init_disabled_context_manager()):
pretrained_checkpoint_file = hf_hub_download(<span class="hljs-string">&quot;dome272/wuerstchen&quot;</span>, filename=<span class="hljs-string">&quot;model_v2_stage_b.pt&quot;</span>)
state_dict = torch.load(pretrained_checkpoint_file, map_location=<span class="hljs-string">&quot;cpu&quot;</span>)
image_encoder = EfficientNetEncoder()
image_encoder.load_state_dict(state_dict[<span class="hljs-string">&quot;effnet_state_dict&quot;</span>])
image_encoder.<span class="hljs-built_in">eval</span>()`,wrap:!1}}),q=new g({props:{code:"cHJpb3IlMjAlM0QlMjBXdWVyc3RjaGVuUHJpb3IuZnJvbV9wcmV0cmFpbmVkKGFyZ3MucHJldHJhaW5lZF9wcmlvcl9tb2RlbF9uYW1lX29yX3BhdGglMkMlMjBzdWJmb2xkZXIlM0QlMjJwcmlvciUyMiklMEElMEFvcHRpbWl6ZXIlMjAlM0QlMjBvcHRpbWl6ZXJfY2xzKCUwQSUyMCUyMCUyMCUyMHByaW9yLnBhcmFtZXRlcnMoKSUyQyUwQSUyMCUyMCUyMCUyMGxyJTNEYXJncy5sZWFybmluZ19yYXRlJTJDJTBBJTIwJTIwJTIwJTIwYmV0YXMlM0QoYXJncy5hZGFtX2JldGExJTJDJTIwYXJncy5hZGFtX2JldGEyKSUyQyUwQSUyMCUyMCUyMCUyMHdlaWdodF9kZWNheSUzRGFyZ3MuYWRhbV93ZWlnaHRfZGVjYXklMkMlMEElMjAlMjAlMjAlMjBlcHMlM0RhcmdzLmFkYW1fZXBzaWxvbiUyQyUwQSk=",highlighted:`prior = WuerstchenPrior.from_pretrained(args.pretrained_prior_model_name_or_path, subfolder=<span class="hljs-string">&quot;prior&quot;</span>)
optimizer = optimizer_cls(
prior.parameters(),
lr=args.learning_rate,
betas=(args.adam_beta1, args.adam_beta2),
weight_decay=args.adam_weight_decay,
eps=args.adam_epsilon,
)`,wrap:!1}}),D=new g({props:{code:"ZGVmJTIwcHJlcHJvY2Vzc190cmFpbihleGFtcGxlcyklM0ElMEElMjAlMjAlMjAlMjBpbWFnZXMlMjAlM0QlMjAlNUJpbWFnZS5jb252ZXJ0KCUyMlJHQiUyMiklMjBmb3IlMjBpbWFnZSUyMGluJTIwZXhhbXBsZXMlNUJpbWFnZV9jb2x1bW4lNUQlNUQlMEElMjAlMjAlMjAlMjBleGFtcGxlcyU1QiUyMmVmZm5ldF9waXhlbF92YWx1ZXMlMjIlNUQlMjAlM0QlMjAlNUJlZmZuZXRfdHJhbnNmb3JtcyhpbWFnZSklMjBmb3IlMjBpbWFnZSUyMGluJTIwaW1hZ2VzJTVEJTBBJTIwJTIwJTIwJTIwZXhhbXBsZXMlNUIlMjJ0ZXh0X2lucHV0X2lkcyUyMiU1RCUyQyUyMGV4YW1wbGVzJTVCJTIydGV4dF9tYXNrJTIyJTVEJTIwJTNEJTIwdG9rZW5pemVfY2FwdGlvbnMoZXhhbXBsZXMpJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwZXhhbXBsZXM=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">preprocess_train</span>(<span class="hljs-params">examples</span>):
images = [image.convert(<span class="hljs-string">&quot;RGB&quot;</span>) <span class="hljs-keyword">for</span> image <span class="hljs-keyword">in</span> examples[image_column]]
examples[<span class="hljs-string">&quot;effnet_pixel_values&quot;</span>] = [effnet_transforms(image) <span class="hljs-keyword">for</span> image <span class="hljs-keyword">in</span> images]
examples[<span class="hljs-string">&quot;text_input_ids&quot;</span>], examples[<span class="hljs-string">&quot;text_mask&quot;</span>] = tokenize_captions(examples)
<span class="hljs-keyword">return</span> examples`,wrap:!1}}),O=new g({props:{code:"cHJlZF9ub2lzZSUyMCUzRCUyMHByaW9yKG5vaXN5X2xhdGVudHMlMkMlMjB0aW1lc3RlcHMlMkMlMjBwcm9tcHRfZW1iZWRzKQ==",highlighted:"pred_noise = prior(noisy_latents, timesteps, prompt_embeds)",wrap:!1}}),te=new fe({props:{title:"Launch the script",local:"launch-the-script",headingTag:"h2"}}),J=new at({props:{$$slots:{default:[Qt]},$$scope:{ctx:b}}}),ae=new g({props:{code:"ZXhwb3J0JTIwREFUQVNFVF9OQU1FJTNEJTIybGFtYmRhbGFicyUyRm5hcnV0by1ibGlwLWNhcHRpb25zJTIyJTBBJTBBYWNjZWxlcmF0ZSUyMGxhdW5jaCUyMCUyMHRyYWluX3RleHRfdG9faW1hZ2VfcHJpb3IucHklMjAlNUMlMEElMjAlMjAtLW1peGVkX3ByZWNpc2lvbiUzRCUyMmZwMTYlMjIlMjAlNUMlMEElMjAlMjAtLWRhdGFzZXRfbmFtZSUzRCUyNERBVEFTRVRfTkFNRSUyMCU1QyUwQSUyMCUyMC0tcmVzb2x1dGlvbiUzRDc2OCUyMCU1QyUwQSUyMCUyMC0tdHJhaW5fYmF0Y2hfc2l6ZSUzRDQlMjAlNUMlMEElMjAlMjAtLWdyYWRpZW50X2FjY3VtdWxhdGlvbl9zdGVwcyUzRDQlMjAlNUMlMEElMjAlMjAtLWdyYWRpZW50X2NoZWNrcG9pbnRpbmclMjAlNUMlMEElMjAlMjAtLWRhdGFsb2FkZXJfbnVtX3dvcmtlcnMlM0Q0JTIwJTVDJTBBJTIwJTIwLS1tYXhfdHJhaW5fc3RlcHMlM0QxNTAwMCUyMCU1QyUwQSUyMCUyMC0tbGVhcm5pbmdfcmF0ZSUzRDFlLTA1JTIwJTVDJTBBJTIwJTIwLS1tYXhfZ3JhZF9ub3JtJTNEMSUyMCU1QyUwQSUyMCUyMC0tY2hlY2twb2ludHNfdG90YWxfbGltaXQlM0QzJTIwJTVDJTBBJTIwJTIwLS1scl9zY2hlZHVsZXIlM0QlMjJjb25zdGFudCUyMiUyMCU1QyUwQSUyMCUyMC0tbHJfd2FybXVwX3N0ZXBzJTNEMCUyMCU1QyUwQSUyMCUyMC0tdmFsaWRhdGlvbl9wcm9tcHRzJTNEJTIyQSUyMHJvYm90JTIwbmFydXRvJTJDJTIwNGslMjBwaG90byUyMiUyMCU1QyUwQSUyMCUyMC0tcmVwb3J0X3RvJTNEJTIyd2FuZGIlMjIlMjAlNUMlMEElMjAlMjAtLXB1c2hfdG9faHViJTIwJTVDJTBBJTIwJTIwLS1vdXRwdXRfZGlyJTNEJTIyd3VlcnN0Y2hlbi1wcmlvci1uYXJ1dG8tbW9kZWwlMjI=",highlighted:`<span class="hljs-built_in">export</span> DATASET_NAME=<span class="hljs-string">&quot;lambdalabs/naruto-blip-captions&quot;</span>
accelerate launch train_text_to_image_prior.py \\
--mixed_precision=<span class="hljs-string">&quot;fp16&quot;</span> \\
--dataset_name=<span class="hljs-variable">$DATASET_NAME</span> \\
--resolution=768 \\
--train_batch_size=4 \\
--gradient_accumulation_steps=4 \\
--gradient_checkpointing \\
--dataloader_num_workers=4 \\
--max_train_steps=15000 \\
--learning_rate=1e-05 \\
--max_grad_norm=1 \\
--checkpoints_total_limit=3 \\
--lr_scheduler=<span class="hljs-string">&quot;constant&quot;</span> \\
--lr_warmup_steps=0 \\
--validation_prompts=<span class="hljs-string">&quot;A robot naruto, 4k photo&quot;</span> \\
--report_to=<span class="hljs-string">&quot;wandb&quot;</span> \\
--push_to_hub \\
--output_dir=<span class="hljs-string">&quot;wuerstchen-prior-naruto-model&quot;</span>`,wrap:!1}}),se=new g({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwQXV0b1BpcGVsaW5lRm9yVGV4dDJJbWFnZSUwQWZyb20lMjBkaWZmdXNlcnMucGlwZWxpbmVzLnd1ZXJzdGNoZW4lMjBpbXBvcnQlMjBERUZBVUxUX1NUQUdFX0NfVElNRVNURVBTJTBBJTBBcGlwZWxpbmUlMjAlM0QlMjBBdXRvUGlwZWxpbmVGb3JUZXh0MkltYWdlLmZyb21fcHJldHJhaW5lZCglMjJwYXRoJTJGdG8lMkZzYXZlZCUyRm1vZGVsJTIyJTJDJTIwdG9yY2hfZHR5cGUlM0R0b3JjaC5mbG9hdDE2KS50byglMjJjdWRhJTIyKSUwQSUwQWNhcHRpb24lMjAlM0QlMjAlMjJBJTIwY3V0ZSUyMGJpcmQlMjBuYXJ1dG8lMjBob2xkaW5nJTIwYSUyMHNoaWVsZCUyMiUwQWltYWdlcyUyMCUzRCUyMHBpcGVsaW5lKCUwQSUyMCUyMCUyMCUyMGNhcHRpb24lMkMlMEElMjAlMjAlMjAlMjB3aWR0aCUzRDEwMjQlMkMlMEElMjAlMjAlMjAlMjBoZWlnaHQlM0QxNTM2JTJDJTBBJTIwJTIwJTIwJTIwcHJpb3JfdGltZXN0ZXBzJTNEREVGQVVMVF9TVEFHRV9DX1RJTUVTVEVQUyUyQyUwQSUyMCUyMCUyMCUyMHByaW9yX2d1aWRhbmNlX3NjYWxlJTNENC4wJTJDJTBBJTIwJTIwJTIwJTIwbnVtX2ltYWdlc19wZXJfcHJvbXB0JTNEMiUyQyUwQSkuaW1hZ2Vz",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> AutoPipelineForText2Image
<span class="hljs-keyword">from</span> diffusers.pipelines.wuerstchen <span class="hljs-keyword">import</span> DEFAULT_STAGE_C_TIMESTEPS
pipeline = AutoPipelineForText2Image.from_pretrained(<span class="hljs-string">&quot;path/to/saved/model&quot;</span>, torch_dtype=torch.float16).to(<span class="hljs-string">&quot;cuda&quot;</span>)
caption = <span class="hljs-string">&quot;A cute bird naruto holding a shield&quot;</span>
images = pipeline(
caption,
width=<span class="hljs-number">1024</span>,
height=<span class="hljs-number">1536</span>,
prior_timesteps=DEFAULT_STAGE_C_TIMESTEPS,
prior_guidance_scale=<span class="hljs-number">4.0</span>,
num_images_per_prompt=<span class="hljs-number">2</span>,
).images`,wrap:!1}}),re=new fe({props:{title:"Next steps",local:"next-steps",headingTag:"h2"}}),me=new Nt({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/training/wuerstchen.md"}}),{c(){s=r("meta"),y=a(),m=r("p"),w=a(),c($.$$.fragment),ue=a(),U=r("p"),U.innerHTML=st,de=a(),j=r("p"),j.innerHTML=rt,he=a(),x=r("p"),x.innerHTML=pt,Me=a(),Z=r("p"),Z.textContent=ot,ye=a(),c(W.$$.fragment),ge=a(),C=r("p"),C.textContent=mt,we=a(),c(v.$$.fragment),be=a(),c(_.$$.fragment),_e=a(),k=r("p"),k.textContent=ct,Te=a(),c(X.$$.fragment),Je=a(),I=r("p"),I.textContent=ft,$e=a(),c(R.$$.fragment),Ue=a(),G=r("p"),G.textContent=ut,je=a(),c(H.$$.fragment),xe=a(),V=r("p"),V.innerHTML=dt,Ze=a(),c(T.$$.fragment),We=a(),c(B.$$.fragment),Ce=a(),N=r("p"),N.innerHTML=ht,ve=a(),E=r("p"),E.innerHTML=Mt,ke=a(),c(F.$$.fragment),Xe=a(),Q=r("p"),Q.innerHTML=yt,Ie=a(),c(A.$$.fragment),Re=a(),Y=r("p"),Y.innerHTML=gt,Ge=a(),L=r("p"),L.innerHTML=wt,He=a(),c(S.$$.fragment),Ve=a(),z=r("p"),z.innerHTML=bt,Be=a(),c(q.$$.fragment),Ne=a(),P=r("p"),P.innerHTML=_t,Ee=a(),c(D.$$.fragment),Fe=a(),K=r("p"),K.innerHTML=Tt,Qe=a(),c(O.$$.fragment),Ae=a(),ee=r("p"),ee.innerHTML=Jt,Ye=a(),c(te.$$.fragment),Le=a(),le=r("p"),le.textContent=$t,Se=a(),ne=r("p"),ne.innerHTML=Ut,ze=a(),c(J.$$.fragment),qe=a(),c(ae.$$.fragment),Pe=a(),ie=r("p"),ie.textContent=jt,De=a(),c(se.$$.fragment),Ke=a(),c(re.$$.fragment),Oe=a(),pe=r("p"),pe.textContent=xt,et=a(),oe=r("ul"),oe.innerHTML=Zt,tt=a(),c(me.$$.fragment),lt=a(),ce=r("p"),this.h()},l(e){const t=Vt("svelte-u9bgzb",document.head);s=p(t,"META",{name:!0,content:!0}),t.forEach(l),y=i(e),m=p(e,"P",{}),kt(m).forEach(l),w=i(e),f($.$$.fragment,e),ue=i(e),U=p(e,"P",{"data-svelte-h":!0}),o(U)!=="svelte-i7ckto"&&(U.innerHTML=st),de=i(e),j=p(e,"P",{"data-svelte-h":!0}),o(j)!=="svelte-1ogrf3c"&&(j.innerHTML=rt),he=i(e),x=p(e,"P",{"data-svelte-h":!0}),o(x)!=="svelte-19e0b6t"&&(x.innerHTML=pt),Me=i(e),Z=p(e,"P",{"data-svelte-h":!0}),o(Z)!=="svelte-l7dm2q"&&(Z.textContent=ot),ye=i(e),f(W.$$.fragment,e),ge=i(e),C=p(e,"P",{"data-svelte-h":!0}),o(C)!=="svelte-z4z0b9"&&(C.textContent=mt),we=i(e),f(v.$$.fragment,e),be=i(e),f(_.$$.fragment,e),_e=i(e),k=p(e,"P",{"data-svelte-h":!0}),o(k)!=="svelte-60q53m"&&(k.textContent=ct),Te=i(e),f(X.$$.fragment,e),Je=i(e),I=p(e,"P",{"data-svelte-h":!0}),o(I)!=="svelte-di6juu"&&(I.textContent=ft),$e=i(e),f(R.$$.fragment,e),Ue=i(e),G=p(e,"P",{"data-svelte-h":!0}),o(G)!=="svelte-tsz4qp"&&(G.textContent=ut),je=i(e),f(H.$$.fragment,e),xe=i(e),V=p(e,"P",{"data-svelte-h":!0}),o(V)!=="svelte-1fkfdql"&&(V.innerHTML=dt),Ze=i(e),f(T.$$.fragment,e),We=i(e),f(B.$$.fragment,e),Ce=i(e),N=p(e,"P",{"data-svelte-h":!0}),o(N)!=="svelte-5hssf5"&&(N.innerHTML=ht),ve=i(e),E=p(e,"P",{"data-svelte-h":!0}),o(E)!=="svelte-1r0bv1x"&&(E.innerHTML=Mt),ke=i(e),f(F.$$.fragment,e),Xe=i(e),Q=p(e,"P",{"data-svelte-h":!0}),o(Q)!=="svelte-94nkgl"&&(Q.innerHTML=yt),Ie=i(e),f(A.$$.fragment,e),Re=i(e),Y=p(e,"P",{"data-svelte-h":!0}),o(Y)!=="svelte-1qezx8a"&&(Y.innerHTML=gt),Ge=i(e),L=p(e,"P",{"data-svelte-h":!0}),o(L)!=="svelte-1dwkzrk"&&(L.innerHTML=wt),He=i(e),f(S.$$.fragment,e),Ve=i(e),z=p(e,"P",{"data-svelte-h":!0}),o(z)!=="svelte-1q4frxg"&&(z.innerHTML=bt),Be=i(e),f(q.$$.fragment,e),Ne=i(e),P=p(e,"P",{"data-svelte-h":!0}),o(P)!=="svelte-hccx6h"&&(P.innerHTML=_t),Ee=i(e),f(D.$$.fragment,e),Fe=i(e),K=p(e,"P",{"data-svelte-h":!0}),o(K)!=="svelte-1mgnmwn"&&(K.innerHTML=Tt),Qe=i(e),f(O.$$.fragment,e),Ae=i(e),ee=p(e,"P",{"data-svelte-h":!0}),o(ee)!=="svelte-6gmbd2"&&(ee.innerHTML=Jt),Ye=i(e),f(te.$$.fragment,e),Le=i(e),le=p(e,"P",{"data-svelte-h":!0}),o(le)!=="svelte-9dei1q"&&(le.textContent=$t),Se=i(e),ne=p(e,"P",{"data-svelte-h":!0}),o(ne)!=="svelte-csbhgn"&&(ne.innerHTML=Ut),ze=i(e),f(J.$$.fragment,e),qe=i(e),f(ae.$$.fragment,e),Pe=i(e),ie=p(e,"P",{"data-svelte-h":!0}),o(ie)!=="svelte-1x6in5t"&&(ie.textContent=jt),De=i(e),f(se.$$.fragment,e),Ke=i(e),f(re.$$.fragment,e),Oe=i(e),pe=p(e,"P",{"data-svelte-h":!0}),o(pe)!=="svelte-1o0am8e"&&(pe.textContent=xt),et=i(e),oe=p(e,"UL",{"data-svelte-h":!0}),o(oe)!=="svelte-m7qkni"&&(oe.innerHTML=Zt),tt=i(e),f(me.$$.fragment,e),lt=i(e),ce=p(e,"P",{}),kt(ce).forEach(l),this.h()},h(){Xt(s,"name","hf:doc:metadata"),Xt(s,"content",Yt)},m(e,t){Bt(document.head,s),n(e,y,t),n(e,m,t),n(e,w,t),u($,e,t),n(e,ue,t),n(e,U,t),n(e,de,t),n(e,j,t),n(e,he,t),n(e,x,t),n(e,Me,t),n(e,Z,t),n(e,ye,t),u(W,e,t),n(e,ge,t),n(e,C,t),n(e,we,t),u(v,e,t),n(e,be,t),u(_,e,t),n(e,_e,t),n(e,k,t),n(e,Te,t),u(X,e,t),n(e,Je,t),n(e,I,t),n(e,$e,t),u(R,e,t),n(e,Ue,t),n(e,G,t),n(e,je,t),u(H,e,t),n(e,xe,t),n(e,V,t),n(e,Ze,t),u(T,e,t),n(e,We,t),u(B,e,t),n(e,Ce,t),n(e,N,t),n(e,ve,t),n(e,E,t),n(e,ke,t),u(F,e,t),n(e,Xe,t),n(e,Q,t),n(e,Ie,t),u(A,e,t),n(e,Re,t),n(e,Y,t),n(e,Ge,t),n(e,L,t),n(e,He,t),u(S,e,t),n(e,Ve,t),n(e,z,t),n(e,Be,t),u(q,e,t),n(e,Ne,t),n(e,P,t),n(e,Ee,t),u(D,e,t),n(e,Fe,t),n(e,K,t),n(e,Qe,t),u(O,e,t),n(e,Ae,t),n(e,ee,t),n(e,Ye,t),u(te,e,t),n(e,Le,t),n(e,le,t),n(e,Se,t),n(e,ne,t),n(e,ze,t),u(J,e,t),n(e,qe,t),u(ae,e,t),n(e,Pe,t),n(e,ie,t),n(e,De,t),u(se,e,t),n(e,Ke,t),u(re,e,t),n(e,Oe,t),n(e,pe,t),n(e,et,t),n(e,oe,t),n(e,tt,t),u(me,e,t),n(e,lt,t),n(e,ce,t),nt=!0},p(e,[t]){const Wt={};t&2&&(Wt.$$scope={dirty:t,ctx:e}),_.$set(Wt);const Ct={};t&2&&(Ct.$$scope={dirty:t,ctx:e}),T.$set(Ct);const vt={};t&2&&(vt.$$scope={dirty:t,ctx:e}),J.$set(vt)},i(e){nt||(d($.$$.fragment,e),d(W.$$.fragment,e),d(v.$$.fragment,e),d(_.$$.fragment,e),d(X.$$.fragment,e),d(R.$$.fragment,e),d(H.$$.fragment,e),d(T.$$.fragment,e),d(B.$$.fragment,e),d(F.$$.fragment,e),d(A.$$.fragment,e),d(S.$$.fragment,e),d(q.$$.fragment,e),d(D.$$.fragment,e),d(O.$$.fragment,e),d(te.$$.fragment,e),d(J.$$.fragment,e),d(ae.$$.fragment,e),d(se.$$.fragment,e),d(re.$$.fragment,e),d(me.$$.fragment,e),nt=!0)},o(e){h($.$$.fragment,e),h(W.$$.fragment,e),h(v.$$.fragment,e),h(_.$$.fragment,e),h(X.$$.fragment,e),h(R.$$.fragment,e),h(H.$$.fragment,e),h(T.$$.fragment,e),h(B.$$.fragment,e),h(F.$$.fragment,e),h(A.$$.fragment,e),h(S.$$.fragment,e),h(q.$$.fragment,e),h(D.$$.fragment,e),h(O.$$.fragment,e),h(te.$$.fragment,e),h(J.$$.fragment,e),h(ae.$$.fragment,e),h(se.$$.fragment,e),h(re.$$.fragment,e),h(me.$$.fragment,e),nt=!1},d(e){e&&(l(y),l(m),l(w),l(ue),l(U),l(de),l(j),l(he),l(x),l(Me),l(Z),l(ye),l(ge),l(C),l(we),l(be),l(_e),l(k),l(Te),l(Je),l(I),l($e),l(Ue),l(G),l(je),l(xe),l(V),l(Ze),l(We),l(Ce),l(N),l(ve),l(E),l(ke),l(Xe),l(Q),l(Ie),l(Re),l(Y),l(Ge),l(L),l(He),l(Ve),l(z),l(Be),l(Ne),l(P),l(Ee),l(Fe),l(K),l(Qe),l(Ae),l(ee),l(Ye),l(Le),l(le),l(Se),l(ne),l(ze),l(qe),l(Pe),l(ie),l(De),l(Ke),l(Oe),l(pe),l(et),l(oe),l(tt),l(lt),l(ce)),l(s),M($,e),M(W,e),M(v,e),M(_,e),M(X,e),M(R,e),M(H,e),M(T,e),M(B,e),M(F,e),M(A,e),M(S,e),M(q,e),M(D,e),M(O,e),M(te,e),M(J,e),M(ae,e),M(se,e),M(re,e),M(me,e)}}}const Yt='{"title":"Wuerstchen","local":"wuerstchen","sections":[{"title":"Script parameters","local":"script-parameters","sections":[],"depth":2},{"title":"Training script","local":"training-script","sections":[],"depth":2},{"title":"Launch the script","local":"launch-the-script","sections":[],"depth":2},{"title":"Next steps","local":"next-steps","sections":[],"depth":2}],"depth":1}';function Lt(b){return Rt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Kt extends Gt{constructor(s){super(),Ht(this,s,Lt,At,It,{})}}export{Kt as component};

Xet Storage Details

Size:
24.7 kB
·
Xet hash:
73add2ca504fd46ea94a5b72ef66bfe4ad91f6fd819e2f578c006ec9e63dc091

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.