Buckets:
| import{s as tt,o as nt,n as ce}from"../chunks/scheduler.8c3d61f6.js";import{S as at,i as it,g as f,s as l,r as h,A as st,h as c,f as s,c as p,j as C,u as b,x,k,y as r,a as d,v as _,d as y,t as $,w as v}from"../chunks/index.da70eac4.js";import{T as Be}from"../chunks/Tip.1d9b8c37.js";import{D as ne}from"../chunks/Docstring.eabe339b.js";import{C as Xe}from"../chunks/CodeBlock.a9c4becf.js";import{E as ze}from"../chunks/ExampleCodeBlock.4ca28371.js";import{H as Ne,E as ot}from"../chunks/getInferenceSnippets.366c2c95.js";function rt(M){let t,m='Make sure to check out the Stable Diffusion <a href="./overview#tips">Tips</a> section to learn how to explore the tradeoff between scheduler speed and quality, and how to reuse pipeline components efficiently!';return{c(){t=f("p"),t.innerHTML=m},l(a){t=c(a,"P",{"data-svelte-h":!0}),x(t)!=="svelte-py3d2y"&&(t.innerHTML=m)},m(a,o){d(a,t,o)},p:ce,d(a){a&&s(t)}}}function lt(M){let t,m="Examples:",a,o,u;return o=new Xe({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMFN0YWJsZURpZmZ1c2lvbkltYWdlVmFyaWF0aW9uUGlwZWxpbmUlMEFmcm9tJTIwUElMJTIwaW1wb3J0JTIwSW1hZ2UlMEFmcm9tJTIwaW8lMjBpbXBvcnQlMjBCeXRlc0lPJTBBaW1wb3J0JTIwcmVxdWVzdHMlMEElMEFwaXBlJTIwJTNEJTIwU3RhYmxlRGlmZnVzaW9uSW1hZ2VWYXJpYXRpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIybGFtYmRhbGFicyUyRnNkLWltYWdlLXZhcmlhdGlvbnMtZGlmZnVzZXJzJTIyJTJDJTIwcmV2aXNpb24lM0QlMjJ2Mi4wJTIyJTBBKSUwQXBpcGUlMjAlM0QlMjBwaXBlLnRvKCUyMmN1ZGElMjIpJTBBJTBBdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZsaDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tJTJGeS1pRk9IZkxUd2t1UVNVZWdwd0RkZ0ttT2pSU1R2UHhhdDYzZFFMQjI1eGtUczRsaEliUlVGZU5CV1p6WWYzNzBnJTNEczEyMDAlMjIlMEElMEFyZXNwb25zZSUyMCUzRCUyMHJlcXVlc3RzLmdldCh1cmwpJTBBaW1hZ2UlMjAlM0QlMjBJbWFnZS5vcGVuKEJ5dGVzSU8ocmVzcG9uc2UuY29udGVudCkpLmNvbnZlcnQoJTIyUkdCJTIyKSUwQSUwQW91dCUyMCUzRCUyMHBpcGUoaW1hZ2UlMkMlMjBudW1faW1hZ2VzX3Blcl9wcm9tcHQlM0QzJTJDJTIwZ3VpZGFuY2Vfc2NhbGUlM0QxNSklMEFvdXQlNUIlMjJpbWFnZXMlMjIlNUQlNUIwJTVELnNhdmUoJTIycmVzdWx0LmpwZyUyMik=",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionImageVariationPipeline | |
| <span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image | |
| <span class="hljs-keyword">from</span> io <span class="hljs-keyword">import</span> BytesIO | |
| <span class="hljs-keyword">import</span> requests | |
| pipe = StableDiffusionImageVariationPipeline.from_pretrained( | |
| <span class="hljs-string">"lambdalabs/sd-image-variations-diffusers"</span>, revision=<span class="hljs-string">"v2.0"</span> | |
| ) | |
| pipe = pipe.to(<span class="hljs-string">"cuda"</span>) | |
| url = <span class="hljs-string">"https://lh3.googleusercontent.com/y-iFOHfLTwkuQSUegpwDdgKmOjRSTvPxat63dQLB25xkTs4lhIbRUFeNBWZzYf370g=s1200"</span> | |
| response = requests.get(url) | |
| image = Image.<span class="hljs-built_in">open</span>(BytesIO(response.content)).convert(<span class="hljs-string">"RGB"</span>) | |
| out = pipe(image, num_images_per_prompt=<span class="hljs-number">3</span>, guidance_scale=<span class="hljs-number">15</span>) | |
| out[<span class="hljs-string">"images"</span>][<span class="hljs-number">0</span>].save(<span class="hljs-string">"result.jpg"</span>)`,wrap:!1}}),{c(){t=f("p"),t.textContent=m,a=l(),h(o.$$.fragment)},l(n){t=c(n,"P",{"data-svelte-h":!0}),x(t)!=="svelte-kvfsh7"&&(t.textContent=m),a=p(n),b(o.$$.fragment,n)},m(n,w){d(n,t,w),d(n,a,w),_(o,n,w),u=!0},p:ce,i(n){u||(y(o.$$.fragment,n),u=!0)},o(n){$(o.$$.fragment,n),u=!1},d(n){n&&(s(t),s(a)),v(o,n)}}}function pt(M){let t,m=`⚠️ Don’t enable attention slicing if you’re already using <code>scaled_dot_product_attention</code> (SDPA) from PyTorch | |
| 2.0 or xFormers. These attention computations are already very memory efficient so you won’t need to enable | |
| this function. If you enable attention slicing with SDPA or xFormers, it can lead to serious slow downs!`;return{c(){t=f("p"),t.innerHTML=m},l(a){t=c(a,"P",{"data-svelte-h":!0}),x(t)!=="svelte-ackzsn"&&(t.innerHTML=m)},m(a,o){d(a,t,o)},p:ce,d(a){a&&s(t)}}}function ft(M){let t,m="Examples:",a,o,u;return o=new Xe({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwU3RhYmxlRGlmZnVzaW9uUGlwZWxpbmUlMEElMEFwaXBlJTIwJTNEJTIwU3RhYmxlRGlmZnVzaW9uUGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUwQSUyMCUyMCUyMCUyMCUyMnN0YWJsZS1kaWZmdXNpb24tdjEtNSUyRnN0YWJsZS1kaWZmdXNpb24tdjEtNSUyMiUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiUyQyUwQSUyMCUyMCUyMCUyMHVzZV9zYWZldGVuc29ycyUzRFRydWUlMkMlMEEpJTBBJTBBcHJvbXB0JTIwJTNEJTIwJTIyYSUyMHBob3RvJTIwb2YlMjBhbiUyMGFzdHJvbmF1dCUyMHJpZGluZyUyMGElMjBob3JzZSUyMG9uJTIwbWFycyUyMiUwQXBpcGUuZW5hYmxlX2F0dGVudGlvbl9zbGljaW5nKCklMEFpbWFnZSUyMCUzRCUyMHBpcGUocHJvbXB0KS5pbWFnZXMlNUIwJTVE",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> StableDiffusionPipeline | |
| <span class="hljs-meta">>>> </span>pipe = StableDiffusionPipeline.from_pretrained( | |
| <span class="hljs-meta">... </span> <span class="hljs-string">"stable-diffusion-v1-5/stable-diffusion-v1-5"</span>, | |
| <span class="hljs-meta">... </span> torch_dtype=torch.float16, | |
| <span class="hljs-meta">... </span> use_safetensors=<span class="hljs-literal">True</span>, | |
| <span class="hljs-meta">... </span>) | |
| <span class="hljs-meta">>>> </span>prompt = <span class="hljs-string">"a photo of an astronaut riding a horse on mars"</span> | |
| <span class="hljs-meta">>>> </span>pipe.enable_attention_slicing() | |
| <span class="hljs-meta">>>> </span>image = pipe(prompt).images[<span class="hljs-number">0</span>]`,wrap:!1}}),{c(){t=f("p"),t.textContent=m,a=l(),h(o.$$.fragment)},l(n){t=c(n,"P",{"data-svelte-h":!0}),x(t)!=="svelte-kvfsh7"&&(t.textContent=m),a=p(n),b(o.$$.fragment,n)},m(n,w){d(n,t,w),d(n,a,w),_(o,n,w),u=!0},p:ce,i(n){u||(y(o.$$.fragment,n),u=!0)},o(n){$(o.$$.fragment,n),u=!1},d(n){n&&(s(t),s(a)),v(o,n)}}}function ct(M){let t,m=`⚠️ When memory efficient attention and sliced attention are both enabled, memory efficient attention takes | |
| precedent.`;return{c(){t=f("p"),t.textContent=m},l(a){t=c(a,"P",{"data-svelte-h":!0}),x(t)!=="svelte-17p1lpg"&&(t.textContent=m)},m(a,o){d(a,t,o)},p:ce,d(a){a&&s(t)}}}function dt(M){let t,m="Examples:",a,o,u;return o=new Xe({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwZGlmZnVzZXJzJTIwaW1wb3J0JTIwRGlmZnVzaW9uUGlwZWxpbmUlMEFmcm9tJTIweGZvcm1lcnMub3BzJTIwaW1wb3J0JTIwTWVtb3J5RWZmaWNpZW50QXR0ZW50aW9uRmxhc2hBdHRlbnRpb25PcCUwQSUwQXBpcGUlMjAlM0QlMjBEaWZmdXNpb25QaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyc3RhYmlsaXR5YWklMkZzdGFibGUtZGlmZnVzaW9uLTItMSUyMiUyQyUyMHRvcmNoX2R0eXBlJTNEdG9yY2guZmxvYXQxNiklMEFwaXBlJTIwJTNEJTIwcGlwZS50byglMjJjdWRhJTIyKSUwQXBpcGUuZW5hYmxlX3hmb3JtZXJzX21lbW9yeV9lZmZpY2llbnRfYXR0ZW50aW9uKGF0dGVudGlvbl9vcCUzRE1lbW9yeUVmZmljaWVudEF0dGVudGlvbkZsYXNoQXR0ZW50aW9uT3ApJTBBJTIzJTIwV29ya2Fyb3VuZCUyMGZvciUyMG5vdCUyMGFjY2VwdGluZyUyMGF0dGVudGlvbiUyMHNoYXBlJTIwdXNpbmclMjBWQUUlMjBmb3IlMjBGbGFzaCUyMEF0dGVudGlvbiUwQXBpcGUudmFlLmVuYWJsZV94Zm9ybWVyc19tZW1vcnlfZWZmaWNpZW50X2F0dGVudGlvbihhdHRlbnRpb25fb3AlM0ROb25lKQ==",highlighted:`<span class="hljs-meta">>>> </span><span class="hljs-keyword">import</span> torch | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> DiffusionPipeline | |
| <span class="hljs-meta">>>> </span><span class="hljs-keyword">from</span> xformers.ops <span class="hljs-keyword">import</span> MemoryEfficientAttentionFlashAttentionOp | |
| <span class="hljs-meta">>>> </span>pipe = DiffusionPipeline.from_pretrained(<span class="hljs-string">"stabilityai/stable-diffusion-2-1"</span>, torch_dtype=torch.float16) | |
| <span class="hljs-meta">>>> </span>pipe = pipe.to(<span class="hljs-string">"cuda"</span>) | |
| <span class="hljs-meta">>>> </span>pipe.enable_xformers_memory_efficient_attention(attention_op=MemoryEfficientAttentionFlashAttentionOp) | |
| <span class="hljs-meta">>>> </span><span class="hljs-comment"># Workaround for not accepting attention shape using VAE for Flash Attention</span> | |
| <span class="hljs-meta">>>> </span>pipe.vae.enable_xformers_memory_efficient_attention(attention_op=<span class="hljs-literal">None</span>)`,wrap:!1}}),{c(){t=f("p"),t.textContent=m,a=l(),h(o.$$.fragment)},l(n){t=c(n,"P",{"data-svelte-h":!0}),x(t)!=="svelte-kvfsh7"&&(t.textContent=m),a=p(n),b(o.$$.fragment,n)},m(n,w){d(n,t,w),d(n,a,w),_(o,n,w),u=!0},p:ce,i(n){u||(y(o.$$.fragment,n),u=!0)},o(n){$(o.$$.fragment,n),u=!1},d(n){n&&(s(t),s(a)),v(o,n)}}}function mt(M){let t,m,a,o,u,n,w,Re='The Stable Diffusion model can also generate variations from an input image. It uses a fine-tuned version of a Stable Diffusion model by <a href="https://www.justinpinkney.com/" rel="nofollow">Justin Pinkney</a> from <a href="https://lambdalabs.com/" rel="nofollow">Lambda</a>.',me,N,Fe='The original codebase can be found at <a href="https://github.com/LambdaLabsML/lambda-diffusers#stable-diffusion-image-variations" rel="nofollow">LambdaLabsML/lambda-diffusers</a> and additional official checkpoints for image variation can be found at <a href="https://huggingface.co/lambdalabs/sd-image-variations-diffusers" rel="nofollow">lambdalabs/sd-image-variations-diffusers</a>.',ue,Z,ge,X,he,g,R,Ie,ae,qe="Pipeline to generate image variations from an input image using Stable Diffusion.",xe,ie,Qe=`This model inherits from <a href="/docs/diffusers/pr_11986/en/api/pipelines/overview#diffusers.DiffusionPipeline">DiffusionPipeline</a>. Check the superclass documentation for the generic methods | |
| implemented for all pipelines (downloading, saving, running on a particular device, etc.).`,Me,D,F,Te,se,Ye="The call function to the pipeline for generation.",Pe,j,Ue,T,q,Se,oe,He=`Enable sliced attention computation. When this option is enabled, the attention module splits the input tensor | |
| in slices to compute attention in several steps. For more than one attention head, the computation is performed | |
| sequentially over each head. This is useful to save some memory in exchange for a small speed decrease.`,De,W,Je,G,Ve,L,Q,Ce,re,Oe=`Disable sliced attention computation. If <code>enable_attention_slicing</code> was previously called, attention is | |
| computed in one step.`,ke,P,Y,Ze,le,Ae=`Enable memory efficient attention from <a href="https://facebookresearch.github.io/xformers/" rel="nofollow">xFormers</a>. When this | |
| option is enabled, you should observe lower GPU memory usage and a potential speed up during inference. Speed | |
| up during training is not guaranteed.`,je,E,We,B,Ge,z,H,Le,pe,Ke='Disable memory efficient attention from <a href="https://facebookresearch.github.io/xformers/" rel="nofollow">xFormers</a>.',be,O,_e,J,A,Ee,fe,et="Output class for Stable Diffusion pipelines.",ye,K,$e,de,ve;return u=new Ne({props:{title:"Image variation",local:"image-variation",headingTag:"h1"}}),Z=new Be({props:{$$slots:{default:[rt]},$$scope:{ctx:M}}}),X=new Ne({props:{title:"StableDiffusionImageVariationPipeline",local:"diffusers.StableDiffusionImageVariationPipeline",headingTag:"h2"}}),R=new ne({props:{name:"class diffusers.StableDiffusionImageVariationPipeline",anchor:"diffusers.StableDiffusionImageVariationPipeline",parameters:[{name:"vae",val:": AutoencoderKL"},{name:"image_encoder",val:": CLIPVisionModelWithProjection"},{name:"unet",val:": UNet2DConditionModel"},{name:"scheduler",val:": KarrasDiffusionSchedulers"},{name:"safety_checker",val:": StableDiffusionSafetyChecker"},{name:"feature_extractor",val:": CLIPImageProcessor"},{name:"requires_safety_checker",val:": bool = True"}],parametersDescription:[{anchor:"diffusers.StableDiffusionImageVariationPipeline.vae",description:`<strong>vae</strong> (<a href="/docs/diffusers/pr_11986/en/api/models/autoencoderkl#diffusers.AutoencoderKL">AutoencoderKL</a>) — | |
| Variational Auto-Encoder (VAE) model to encode and decode images to and from latent representations.`,name:"vae"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.image_encoder",description:`<strong>image_encoder</strong> (<a href="https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPVisionModelWithProjection" rel="nofollow">CLIPVisionModelWithProjection</a>) — | |
| Frozen CLIP image-encoder (<a href="https://huggingface.co/openai/clip-vit-large-patch14" rel="nofollow">clip-vit-large-patch14</a>).`,name:"image_encoder"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.text_encoder",description:`<strong>text_encoder</strong> (<a href="https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTextModel" rel="nofollow">CLIPTextModel</a>) — | |
| Frozen text-encoder (<a href="https://huggingface.co/openai/clip-vit-large-patch14" rel="nofollow">clip-vit-large-patch14</a>).`,name:"text_encoder"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.tokenizer",description:`<strong>tokenizer</strong> (<a href="https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTokenizer" rel="nofollow">CLIPTokenizer</a>) — | |
| A <code>CLIPTokenizer</code> to tokenize text.`,name:"tokenizer"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.unet",description:`<strong>unet</strong> (<a href="/docs/diffusers/pr_11986/en/api/models/unet2d-cond#diffusers.UNet2DConditionModel">UNet2DConditionModel</a>) — | |
| A <code>UNet2DConditionModel</code> to denoise the encoded image latents.`,name:"unet"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.scheduler",description:`<strong>scheduler</strong> (<a href="/docs/diffusers/pr_11986/en/api/schedulers/overview#diffusers.SchedulerMixin">SchedulerMixin</a>) — | |
| A scheduler to be used in combination with <code>unet</code> to denoise the encoded image latents. Can be one of | |
| <a href="/docs/diffusers/pr_11986/en/api/schedulers/ddim#diffusers.DDIMScheduler">DDIMScheduler</a>, <a href="/docs/diffusers/pr_11986/en/api/schedulers/lms_discrete#diffusers.LMSDiscreteScheduler">LMSDiscreteScheduler</a>, or <a href="/docs/diffusers/pr_11986/en/api/schedulers/pndm#diffusers.PNDMScheduler">PNDMScheduler</a>.`,name:"scheduler"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.safety_checker",description:`<strong>safety_checker</strong> (<code>StableDiffusionSafetyChecker</code>) — | |
| Classification module that estimates whether generated images could be considered offensive or harmful. | |
| Please refer to the <a href="https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5" rel="nofollow">model card</a> for | |
| more details about a model’s potential harms.`,name:"safety_checker"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.feature_extractor",description:`<strong>feature_extractor</strong> (<a href="https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPImageProcessor" rel="nofollow">CLIPImageProcessor</a>) — | |
| A <code>CLIPImageProcessor</code> to extract features from generated images; used as inputs to the <code>safety_checker</code>.`,name:"feature_extractor"}],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py#L44"}}),F=new ne({props:{name:"__call__",anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__",parameters:[{name:"image",val:": typing.Union[PIL.Image.Image, typing.List[PIL.Image.Image], torch.Tensor]"},{name:"height",val:": typing.Optional[int] = None"},{name:"width",val:": typing.Optional[int] = None"},{name:"num_inference_steps",val:": int = 50"},{name:"guidance_scale",val:": float = 7.5"},{name:"num_images_per_prompt",val:": typing.Optional[int] = 1"},{name:"eta",val:": float = 0.0"},{name:"generator",val:": typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None"},{name:"latents",val:": typing.Optional[torch.Tensor] = None"},{name:"output_type",val:": typing.Optional[str] = 'pil'"},{name:"return_dict",val:": bool = True"},{name:"callback",val:": typing.Optional[typing.Callable[[int, int, torch.Tensor], NoneType]] = None"},{name:"callback_steps",val:": int = 1"}],parametersDescription:[{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.image",description:`<strong>image</strong> (<code>PIL.Image.Image</code> or <code>List[PIL.Image.Image]</code> or <code>torch.Tensor</code>) — | |
| Image or images to guide image generation. If you provide a tensor, it needs to be compatible with | |
| <a href="https://huggingface.co/lambdalabs/sd-image-variations-diffusers/blob/main/feature_extractor/preprocessor_config.json" rel="nofollow"><code>CLIPImageProcessor</code></a>.`,name:"image"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.height",description:`<strong>height</strong> (<code>int</code>, <em>optional</em>, defaults to <code>self.unet.config.sample_size * self.vae_scale_factor</code>) — | |
| The height in pixels of the generated image.`,name:"height"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.width",description:`<strong>width</strong> (<code>int</code>, <em>optional</em>, defaults to <code>self.unet.config.sample_size * self.vae_scale_factor</code>) — | |
| The width in pixels of the generated image.`,name:"width"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.num_inference_steps",description:`<strong>num_inference_steps</strong> (<code>int</code>, <em>optional</em>, defaults to 50) — | |
| The number of denoising steps. More denoising steps usually lead to a higher quality image at the | |
| expense of slower inference. This parameter is modulated by <code>strength</code>.`,name:"num_inference_steps"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.guidance_scale",description:`<strong>guidance_scale</strong> (<code>float</code>, <em>optional</em>, defaults to 7.5) — | |
| A higher guidance scale value encourages the model to generate images closely linked to the text | |
| <code>prompt</code> at the expense of lower image quality. Guidance scale is enabled when <code>guidance_scale > 1</code>.`,name:"guidance_scale"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.num_images_per_prompt",description:`<strong>num_images_per_prompt</strong> (<code>int</code>, <em>optional</em>, defaults to 1) — | |
| The number of images to generate per prompt.`,name:"num_images_per_prompt"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.eta",description:`<strong>eta</strong> (<code>float</code>, <em>optional</em>, defaults to 0.0) — | |
| Corresponds to parameter eta (η) from the <a href="https://huggingface.co/papers/2010.02502" rel="nofollow">DDIM</a> paper. Only | |
| applies to the <a href="/docs/diffusers/pr_11986/en/api/schedulers/ddim#diffusers.DDIMScheduler">DDIMScheduler</a>, and is ignored in other schedulers.`,name:"eta"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.generator",description:`<strong>generator</strong> (<code>torch.Generator</code> or <code>List[torch.Generator]</code>, <em>optional</em>) — | |
| A <a href="https://pytorch.org/docs/stable/generated/torch.Generator.html" rel="nofollow"><code>torch.Generator</code></a> to make | |
| generation deterministic.`,name:"generator"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.latents",description:`<strong>latents</strong> (<code>torch.Tensor</code>, <em>optional</em>) — | |
| Pre-generated noisy latents sampled from a Gaussian distribution, to be used as inputs for image | |
| generation. Can be used to tweak the same generation with different prompts. If not provided, a latents | |
| tensor is generated by sampling using the supplied random <code>generator</code>.`,name:"latents"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.output_type",description:`<strong>output_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"pil"</code>) — | |
| The output format of the generated image. Choose between <code>PIL.Image</code> or <code>np.array</code>.`,name:"output_type"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.return_dict",description:`<strong>return_dict</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>True</code>) — | |
| Whether or not to return a <a href="/docs/diffusers/pr_11986/en/api/pipelines/stable_diffusion/inpaint#diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput">StableDiffusionPipelineOutput</a> instead of a | |
| plain tuple.`,name:"return_dict"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.callback",description:`<strong>callback</strong> (<code>Callable</code>, <em>optional</em>) — | |
| A function that calls every <code>callback_steps</code> steps during inference. The function is called with the | |
| following arguments: <code>callback(step: int, timestep: int, latents: torch.Tensor)</code>.`,name:"callback"},{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.callback_steps",description:`<strong>callback_steps</strong> (<code>int</code>, <em>optional</em>, defaults to 1) — | |
| The frequency at which the <code>callback</code> function is called. If not specified, the callback is called at | |
| every step.`,name:"callback_steps"}],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py#L259",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>If <code>return_dict</code> is <code>True</code>, <a | |
| href="/docs/diffusers/pr_11986/en/api/pipelines/stable_diffusion/inpaint#diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput" | |
| >StableDiffusionPipelineOutput</a> is returned, | |
| otherwise a <code>tuple</code> is returned where the first element is a list with the generated images and the | |
| second element is a list of <code>bool</code>s indicating whether the corresponding generated image contains | |
| “not-safe-for-work” (nsfw) content.</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><a | |
| href="/docs/diffusers/pr_11986/en/api/pipelines/stable_diffusion/inpaint#diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput" | |
| >StableDiffusionPipelineOutput</a> or <code>tuple</code></p> | |
| `}}),j=new ze({props:{anchor:"diffusers.StableDiffusionImageVariationPipeline.__call__.example",$$slots:{default:[lt]},$$scope:{ctx:M}}}),q=new ne({props:{name:"enable_attention_slicing",anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_attention_slicing",parameters:[{name:"slice_size",val:": typing.Union[int, str, NoneType] = 'auto'"}],parametersDescription:[{anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_attention_slicing.slice_size",description:`<strong>slice_size</strong> (<code>str</code> or <code>int</code>, <em>optional</em>, defaults to <code>"auto"</code>) — | |
| When <code>"auto"</code>, halves the input to the attention heads, so attention will be computed in two steps. If | |
| <code>"max"</code>, maximum amount of memory will be saved by running only one slice at a time. If a number is | |
| provided, uses as many slices as <code>attention_head_dim // slice_size</code>. In this case, <code>attention_head_dim</code> | |
| must be a multiple of <code>slice_size</code>.`,name:"slice_size"}],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/pipeline_utils.py#L1834"}}),W=new Be({props:{warning:!0,$$slots:{default:[pt]},$$scope:{ctx:M}}}),G=new ze({props:{anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_attention_slicing.example",$$slots:{default:[ft]},$$scope:{ctx:M}}}),Q=new ne({props:{name:"disable_attention_slicing",anchor:"diffusers.StableDiffusionImageVariationPipeline.disable_attention_slicing",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/pipeline_utils.py#L1874"}}),Y=new ne({props:{name:"enable_xformers_memory_efficient_attention",anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_xformers_memory_efficient_attention",parameters:[{name:"attention_op",val:": typing.Optional[typing.Callable] = None"}],parametersDescription:[{anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_xformers_memory_efficient_attention.attention_op",description:`<strong>attention_op</strong> (<code>Callable</code>, <em>optional</em>) — | |
| Override the default <code>None</code> operator for use as <code>op</code> argument to the | |
| <a href="https://facebookresearch.github.io/xformers/components/ops.html#xformers.ops.memory_efficient_attention" rel="nofollow"><code>memory_efficient_attention()</code></a> | |
| function of xFormers.`,name:"attention_op"}],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/pipeline_utils.py#L1773"}}),E=new Be({props:{warning:!0,$$slots:{default:[ct]},$$scope:{ctx:M}}}),B=new ze({props:{anchor:"diffusers.StableDiffusionImageVariationPipeline.enable_xformers_memory_efficient_attention.example",$$slots:{default:[dt]},$$scope:{ctx:M}}}),H=new ne({props:{name:"disable_xformers_memory_efficient_attention",anchor:"diffusers.StableDiffusionImageVariationPipeline.disable_xformers_memory_efficient_attention",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/pipeline_utils.py#L1808"}}),O=new Ne({props:{title:"StableDiffusionPipelineOutput",local:"diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput",headingTag:"h2"}}),A=new ne({props:{name:"class diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput",anchor:"diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput",parameters:[{name:"images",val:": typing.Union[typing.List[PIL.Image.Image], numpy.ndarray]"},{name:"nsfw_content_detected",val:": typing.Optional[typing.List[bool]]"}],parametersDescription:[{anchor:"diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput.images",description:`<strong>images</strong> (<code>List[PIL.Image.Image]</code> or <code>np.ndarray</code>) — | |
| List of denoised PIL images of length <code>batch_size</code> or NumPy array of shape <code>(batch_size, height, width, num_channels)</code>.`,name:"images"},{anchor:"diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput.nsfw_content_detected",description:`<strong>nsfw_content_detected</strong> (<code>List[bool]</code>) — | |
| List indicating whether the corresponding generated image contains “not-safe-for-work” (nsfw) content or | |
| <code>None</code> if safety checking could not be performed.`,name:"nsfw_content_detected"}],source:"https://github.com/huggingface/diffusers/blob/vr_11986/src/diffusers/pipelines/stable_diffusion/pipeline_output.py#L10"}}),K=new ot({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/pipelines/stable_diffusion/image_variation.md"}}),{c(){t=f("meta"),m=l(),a=f("p"),o=l(),h(u.$$.fragment),n=l(),w=f("p"),w.innerHTML=Re,me=l(),N=f("p"),N.innerHTML=Fe,ue=l(),h(Z.$$.fragment),ge=l(),h(X.$$.fragment),he=l(),g=f("div"),h(R.$$.fragment),Ie=l(),ae=f("p"),ae.textContent=qe,xe=l(),ie=f("p"),ie.innerHTML=Qe,Me=l(),D=f("div"),h(F.$$.fragment),Te=l(),se=f("p"),se.textContent=Ye,Pe=l(),h(j.$$.fragment),Ue=l(),T=f("div"),h(q.$$.fragment),Se=l(),oe=f("p"),oe.textContent=He,De=l(),h(W.$$.fragment),Je=l(),h(G.$$.fragment),Ve=l(),L=f("div"),h(Q.$$.fragment),Ce=l(),re=f("p"),re.innerHTML=Oe,ke=l(),P=f("div"),h(Y.$$.fragment),Ze=l(),le=f("p"),le.innerHTML=Ae,je=l(),h(E.$$.fragment),We=l(),h(B.$$.fragment),Ge=l(),z=f("div"),h(H.$$.fragment),Le=l(),pe=f("p"),pe.innerHTML=Ke,be=l(),h(O.$$.fragment),_e=l(),J=f("div"),h(A.$$.fragment),Ee=l(),fe=f("p"),fe.textContent=et,ye=l(),h(K.$$.fragment),$e=l(),de=f("p"),this.h()},l(e){const i=st("svelte-u9bgzb",document.head);t=c(i,"META",{name:!0,content:!0}),i.forEach(s),m=p(e),a=c(e,"P",{}),C(a).forEach(s),o=p(e),b(u.$$.fragment,e),n=p(e),w=c(e,"P",{"data-svelte-h":!0}),x(w)!=="svelte-136oux4"&&(w.innerHTML=Re),me=p(e),N=c(e,"P",{"data-svelte-h":!0}),x(N)!=="svelte-vto4t0"&&(N.innerHTML=Fe),ue=p(e),b(Z.$$.fragment,e),ge=p(e),b(X.$$.fragment,e),he=p(e),g=c(e,"DIV",{class:!0});var I=C(g);b(R.$$.fragment,I),Ie=p(I),ae=c(I,"P",{"data-svelte-h":!0}),x(ae)!=="svelte-1dj22j7"&&(ae.textContent=qe),xe=p(I),ie=c(I,"P",{"data-svelte-h":!0}),x(ie)!=="svelte-mlhbh1"&&(ie.innerHTML=Qe),Me=p(I),D=c(I,"DIV",{class:!0});var V=C(D);b(F.$$.fragment,V),Te=p(V),se=c(V,"P",{"data-svelte-h":!0}),x(se)!=="svelte-50j04k"&&(se.textContent=Ye),Pe=p(V),b(j.$$.fragment,V),V.forEach(s),Ue=p(I),T=c(I,"DIV",{class:!0});var U=C(T);b(q.$$.fragment,U),Se=p(U),oe=c(U,"P",{"data-svelte-h":!0}),x(oe)!=="svelte-10jaql7"&&(oe.textContent=He),De=p(U),b(W.$$.fragment,U),Je=p(U),b(G.$$.fragment,U),U.forEach(s),Ve=p(I),L=c(I,"DIV",{class:!0});var ee=C(L);b(Q.$$.fragment,ee),Ce=p(ee),re=c(ee,"P",{"data-svelte-h":!0}),x(re)!=="svelte-1lh0nh5"&&(re.innerHTML=Oe),ee.forEach(s),ke=p(I),P=c(I,"DIV",{class:!0});var S=C(P);b(Y.$$.fragment,S),Ze=p(S),le=c(S,"P",{"data-svelte-h":!0}),x(le)!=="svelte-e03q3e"&&(le.innerHTML=Ae),je=p(S),b(E.$$.fragment,S),We=p(S),b(B.$$.fragment,S),S.forEach(s),Ge=p(I),z=c(I,"DIV",{class:!0});var te=C(z);b(H.$$.fragment,te),Le=p(te),pe=c(te,"P",{"data-svelte-h":!0}),x(pe)!=="svelte-1vfte1e"&&(pe.innerHTML=Ke),te.forEach(s),I.forEach(s),be=p(e),b(O.$$.fragment,e),_e=p(e),J=c(e,"DIV",{class:!0});var we=C(J);b(A.$$.fragment,we),Ee=p(we),fe=c(we,"P",{"data-svelte-h":!0}),x(fe)!=="svelte-1qpjiuf"&&(fe.textContent=et),we.forEach(s),ye=p(e),b(K.$$.fragment,e),$e=p(e),de=c(e,"P",{}),C(de).forEach(s),this.h()},h(){k(t,"name","hf:doc:metadata"),k(t,"content",ut),k(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(L,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(P,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(g,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),k(J,"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,i){r(document.head,t),d(e,m,i),d(e,a,i),d(e,o,i),_(u,e,i),d(e,n,i),d(e,w,i),d(e,me,i),d(e,N,i),d(e,ue,i),_(Z,e,i),d(e,ge,i),_(X,e,i),d(e,he,i),d(e,g,i),_(R,g,null),r(g,Ie),r(g,ae),r(g,xe),r(g,ie),r(g,Me),r(g,D),_(F,D,null),r(D,Te),r(D,se),r(D,Pe),_(j,D,null),r(g,Ue),r(g,T),_(q,T,null),r(T,Se),r(T,oe),r(T,De),_(W,T,null),r(T,Je),_(G,T,null),r(g,Ve),r(g,L),_(Q,L,null),r(L,Ce),r(L,re),r(g,ke),r(g,P),_(Y,P,null),r(P,Ze),r(P,le),r(P,je),_(E,P,null),r(P,We),_(B,P,null),r(g,Ge),r(g,z),_(H,z,null),r(z,Le),r(z,pe),d(e,be,i),_(O,e,i),d(e,_e,i),d(e,J,i),_(A,J,null),r(J,Ee),r(J,fe),d(e,ye,i),_(K,e,i),d(e,$e,i),d(e,de,i),ve=!0},p(e,[i]){const I={};i&2&&(I.$$scope={dirty:i,ctx:e}),Z.$set(I);const V={};i&2&&(V.$$scope={dirty:i,ctx:e}),j.$set(V);const U={};i&2&&(U.$$scope={dirty:i,ctx:e}),W.$set(U);const ee={};i&2&&(ee.$$scope={dirty:i,ctx:e}),G.$set(ee);const S={};i&2&&(S.$$scope={dirty:i,ctx:e}),E.$set(S);const te={};i&2&&(te.$$scope={dirty:i,ctx:e}),B.$set(te)},i(e){ve||(y(u.$$.fragment,e),y(Z.$$.fragment,e),y(X.$$.fragment,e),y(R.$$.fragment,e),y(F.$$.fragment,e),y(j.$$.fragment,e),y(q.$$.fragment,e),y(W.$$.fragment,e),y(G.$$.fragment,e),y(Q.$$.fragment,e),y(Y.$$.fragment,e),y(E.$$.fragment,e),y(B.$$.fragment,e),y(H.$$.fragment,e),y(O.$$.fragment,e),y(A.$$.fragment,e),y(K.$$.fragment,e),ve=!0)},o(e){$(u.$$.fragment,e),$(Z.$$.fragment,e),$(X.$$.fragment,e),$(R.$$.fragment,e),$(F.$$.fragment,e),$(j.$$.fragment,e),$(q.$$.fragment,e),$(W.$$.fragment,e),$(G.$$.fragment,e),$(Q.$$.fragment,e),$(Y.$$.fragment,e),$(E.$$.fragment,e),$(B.$$.fragment,e),$(H.$$.fragment,e),$(O.$$.fragment,e),$(A.$$.fragment,e),$(K.$$.fragment,e),ve=!1},d(e){e&&(s(m),s(a),s(o),s(n),s(w),s(me),s(N),s(ue),s(ge),s(he),s(g),s(be),s(_e),s(J),s(ye),s($e),s(de)),s(t),v(u,e),v(Z,e),v(X,e),v(R),v(F),v(j),v(q),v(W),v(G),v(Q),v(Y),v(E),v(B),v(H),v(O,e),v(A),v(K,e)}}}const ut='{"title":"Image variation","local":"image-variation","sections":[{"title":"StableDiffusionImageVariationPipeline","local":"diffusers.StableDiffusionImageVariationPipeline","sections":[],"depth":2},{"title":"StableDiffusionPipelineOutput","local":"diffusers.pipelines.stable_diffusion.StableDiffusionPipelineOutput","sections":[],"depth":2}],"depth":1}';function gt(M){return nt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class It extends at{constructor(t){super(),it(this,t,gt,mt,tt,{})}}export{It as component}; | |
Xet Storage Details
- Size:
- 32.9 kB
- Xet hash:
- d40cbaf8b092443b418f4f2687b53a0a1732c1dab3ff5a5926291114b262cda7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.