Buckets:

download
raw
28.9 kB
import{s as bt,a as _t,n as Tt,o as wt}from"../chunks/scheduler.56725da7.js";import{S as Jt,i as Ut,e as r,s as o,c as s,h as vt,a as i,d as n,b as a,f as J,g as m,j as h,k as M,l as le,m as l,n as p,t as u,o as c,p as d}from"../chunks/index.18a26576.js";import{C as Nt}from"../chunks/CopyLLMTxtMenu.3134fcef.js";import{D as me}from"../chunks/Docstring.69b6e7bf.js";import{C as oe}from"../chunks/CodeBlock.b87ef962.js";import{H as ae}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.868449a1.js";function jt(et){let f,ce,pe,de,U,Me,v,he,N,tt="Flux is a series of text-to-image generation models based on diffusion transformers.",fe,w,nt="<p>We recommend using a <code>inf2.24xlarge</code> instance with tensor parallel size 8 for the model compilation and inference.</p>",ye,j,ge,x,lt="<li>Option 1: CLI</li>",_e,$,be,C,ot="<li>Option 2: Python API</li>",Te,Z,we,I,Je,X,at="<li>The guidance-distilled variant takes about 50 sampling steps for good-quality generation.</li>",Ue,G,ve,y,rt,Ne,k,je,B,it="<li>max_sequence_length cannot be more than 256.</li> <li>guidance_scale needs to be 0.</li> <li>As this is a timestep-distilled model, it benefits from fewer sampling steps.</li>",xe,F,$e,V,Ce,g,st,Ze,W,Ie,S,mt="The Flux pipeline for text-to-image generation.",Xe,_,z,De,re,R,Ge,E,ke,L,pt="The Flux pipeline for image inpainting.",Be,b,Q,Ke,ie,Y,Fe,H,ut="With <code>NeuronFluxInpaintPipeline</code>, pass the original image and a mask of what you want to replace in the original image. Then replace the masked area with content described in a prompt.",Ve,P,We,A,Se,q,ct="The Flux pipeline for image editing.",ze,T,D,Oe,se,K,Re,O,dt="With <code>NeuronFluxKontextPipeline</code>, pass the original image and a prompt describing what you want to change about the original image.",Ee,ee,Le,te,Mt='<thead><tr><th align="center">Image</th> <th align="center">Prompt</th> <th align="center">Output</th></tr></thead> <tbody><tr><td align="center"><img src="https://huggingface.co/datasets/Jlonge4/document_images/resolve/main/flux_optimum.png" alt="red_cushions" width="250"/></td> <td align="center"><strong><em>Change the cushions in the chair from red to green</em></strong></td> <td align="center"><img src="https://huggingface.co/datasets/Jlonge4/document_images/resolve/main/flux_optimum_edit.png" alt="green_cushions" width="250"/></td></tr></tbody>',Qe,ne,ht='Are there any other diffusion features that you want us to support in 🤗<code>Optimum-neuron</code>? Please file an issue to <a href="https://github.com/huggingface/optimum-neuron" rel="nofollow"><code>Optimum-neuron</code> Github repo</a> or discuss with us on <a href="https://discuss.huggingface.co/c/optimum/" rel="nofollow">HuggingFace’s community forum</a>, cheers 🤗 !',Ye,ue,He;return U=new Nt({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),v=new ae({props:{title:"Flux",local:"flux",headingTag:"h1"}}),j=new ae({props:{title:"Export to Neuron",local:"export-to-neuron",headingTag:"h3"}}),$=new oe({props:{code:"b3B0aW11bS1jbGklMjBleHBvcnQlMjBuZXVyb24lMjAtLW1vZGVsJTIwYmxhY2stZm9yZXN0LWxhYnMlMkZGTFVYLjEtZGV2JTIwLS10ZW5zb3JfcGFyYWxsZWxfc2l6ZSUyMDglMjAtLWJhdGNoX3NpemUlMjAxJTIwLS1oZWlnaHQlMjAxMDI0JTIwLS13aWR0aCUyMDEwMjQlMjAtLW51bV9pbWFnZXNfcGVyX3Byb21wdCUyMDElMjAtLXRvcmNoX2R0eXBlJTIwYmZsb2F0MTYlMjBmbHV4X2Rldl9uZXVyb24lMkY=",highlighted:'optimum-cli <span class="hljs-built_in">export</span> neuron --model black-forest-labs/FLUX.1-dev --tensor_parallel_size 8 --batch_size 1 --height 1024 --width 1024 --num_images_per_prompt 1 --torch_dtype bfloat16 flux_dev_neuron/',wrap:!1}}),Z=new oe({props:{code:"ZnJvbSUyMG9wdGltdW0ubmV1cm9uJTIwaW1wb3J0JTIwTmV1cm9uRmx1eFBpcGVsaW5lJTBBJTBBaWYlMjBfX25hbWVfXyUyMCUzRCUzRCUyMCUyMl9fbWFpbl9fJTIyJTNBJTBBJTIwJTIwJTIwJTIwY29tcGlsZXJfYXJncyUyMCUzRCUyMCU3QiUyMmF1dG9fY2FzdCUyMiUzQSUyMCUyMm5vbmUlMjIlN0QlMEElMjAlMjAlMjAlMjBpbnB1dF9zaGFwZXMlMjAlM0QlMjAlN0IlMjJiYXRjaF9zaXplJTIyJTNBJTIwMSUyQyUyMCUyMmhlaWdodCUyMiUzQSUyMDEwMjQlMkMlMjAlMjJ3aWR0aCUyMiUzQSUyMDEwMjQlN0QlMEElMEElMjAlMjAlMjAlMjBwaXBlJTIwJTNEJTIwTmV1cm9uRmx1eFBpcGVsaW5lLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJibGFjay1mb3Jlc3QtbGFicyUyRkZMVVguMS1kZXYlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0b3JjaF9kdHlwZSUzRHRvcmNoLmJmbG9hdDE2JTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZXhwb3J0JTNEVHJ1ZSUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRlbnNvcl9wYXJhbGxlbF9zaXplJTNEOCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCoqY29tcGlsZXJfYXJncyUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCoqaW5wdXRfc2hhcGVzJTBBJTIwJTIwJTIwJTIwKSUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMFNhdmUlMjBsb2NhbGx5JTBBJTIwJTIwJTIwJTIwcGlwZS5zYXZlX3ByZXRyYWluZWQoJTIyZmx1eF9kZXZfbmV1cm9uXzEwMjRfdHA4JTJGJTIyKSUwQSUwQSUyMCUyMCUyMCUyMCUyMyUyMFVwbG9hZCUyMHRvJTIwdGhlJTIwSHVnZ2luZ0ZhY2UlMjBIdWIlMEElMjAlMjAlMjAlMjBwaXBlLnB1c2hfdG9faHViKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmZsdXhfZGV2X25ldXJvbl8xMDI0X3RwOCUyRiUyMiUyQyUyMHJlcG9zaXRvcnlfaWQlM0QlMjJKaW5neWElMkZGTFVYLjEtZGV2LW5ldXJvbngtMTAyNHgxMDI0LXRwOCUyMiUyMCUyMCUyMyUyMFJlcGxhY2UlMjB3aXRoJTIweW91ciUyMEhGJTIwSHViJTIwcmVwbyUyMGlkJTBBJTIwJTIwJTIwJTIwKQ==",highlighted:`<span class="hljs-keyword">from</span> optimum.neuron <span class="hljs-keyword">import</span> NeuronFluxPipeline
<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">&quot;__main__&quot;</span>:
compiler_args = {<span class="hljs-string">&quot;auto_cast&quot;</span>: <span class="hljs-string">&quot;none&quot;</span>}
input_shapes = {<span class="hljs-string">&quot;batch_size&quot;</span>: <span class="hljs-number">1</span>, <span class="hljs-string">&quot;height&quot;</span>: <span class="hljs-number">1024</span>, <span class="hljs-string">&quot;width&quot;</span>: <span class="hljs-number">1024</span>}
pipe = NeuronFluxPipeline.from_pretrained(
<span class="hljs-string">&quot;black-forest-labs/FLUX.1-dev&quot;</span>,
torch_dtype=torch.bfloat16,
export=<span class="hljs-literal">True</span>,
tensor_parallel_size=<span class="hljs-number">8</span>,
**compiler_args,
**input_shapes
)
<span class="hljs-comment"># Save locally</span>
pipe.save_pretrained(<span class="hljs-string">&quot;flux_dev_neuron_1024_tp8/&quot;</span>)
<span class="hljs-comment"># Upload to the HuggingFace Hub</span>
pipe.push_to_hub(
<span class="hljs-string">&quot;flux_dev_neuron_1024_tp8/&quot;</span>, repository_id=<span class="hljs-string">&quot;Jingya/FLUX.1-dev-neuronx-1024x1024-tp8&quot;</span> <span class="hljs-comment"># Replace with your HF Hub repo id</span>
)`,wrap:!1}}),I=new ae({props:{title:"Guidance-distilled",local:"guidance-distilled",headingTag:"h2"}}),G=new oe({props:{code:"ZnJvbSUyMG9wdGltdW0ubmV1cm9uJTIwaW1wb3J0JTIwTmV1cm9uRmx1eFBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyME5ldXJvbkZsdXhQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyZmx1eF9kZXZfbmV1cm9uXzEwMjRfdHA4JTJGJTIyKSUwQXByb21wdCUyMCUzRCUyMCUyMkElMjBjYXQlMjBob2xkaW5nJTIwYSUyMHNpZ24lMjB0aGF0JTIwc2F5cyUyMGhlbGxvJTIwd29ybGQlMjIlMEFvdXQlMjAlM0QlMjBwaXBlKCUwQSUyMCUyMCUyMCUyMHByb21wdCUyQyUwQSUyMCUyMCUyMCUyMGd1aWRhbmNlX3NjYWxlJTNEMy41JTJDJTBBJTIwJTIwJTIwJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRDUwJTJDJTBBJTIwJTIwJTIwJTIwZ2VuZXJhdG9yJTNEdG9yY2guR2VuZXJhdG9yKCUyMmNwdSUyMikubWFudWFsX3NlZWQoMCklMEEpLmltYWdlcyU1QjAlNUQlMEFvdXQuc2F2ZSglMjJmbHV4X29wdGltdW0ucG5nJTIyKQ==",highlighted:`<span class="hljs-keyword">from</span> optimum.neuron <span class="hljs-keyword">import</span> NeuronFluxPipeline
pipe = NeuronFluxPipeline.from_pretrained(<span class="hljs-string">&quot;flux_dev_neuron_1024_tp8/&quot;</span>)
prompt = <span class="hljs-string">&quot;A cat holding a sign that says hello world&quot;</span>
out = pipe(
prompt,
guidance_scale=<span class="hljs-number">3.5</span>,
num_inference_steps=<span class="hljs-number">50</span>,
generator=torch.Generator(<span class="hljs-string">&quot;cpu&quot;</span>).manual_seed(<span class="hljs-number">0</span>)
).images[<span class="hljs-number">0</span>]
out.save(<span class="hljs-string">&quot;flux_optimum.png&quot;</span>)`,wrap:!1}}),k=new ae({props:{title:"Timestep-distilled",local:"timestep-distilled",headingTag:"h2"}}),F=new oe({props:{code:"b3B0aW11bS1jbGklMjBleHBvcnQlMjBuZXVyb24lMjAtLW1vZGVsJTIwYmxhY2stZm9yZXN0LWxhYnMlMkZGTFVYLjEtc2NobmVsbCUyMC0tdGVuc29yX3BhcmFsbGVsX3NpemUlMjA4JTIwLS1iYXRjaF9zaXplJTIwMSUyMC0taGVpZ2h0JTIwMTAyNCUyMC0td2lkdGglMjAxMDI0JTIwLS1udW1faW1hZ2VzX3Blcl9wcm9tcHQlMjAxJTIwLS1zZXF1ZW5jZV9sZW5ndGglMjAyNTYlMjAtLXRvcmNoX2R0eXBlJTIwYmZsb2F0MTYlMjBmbHV4X3NjaG5lbGxfbmV1cm9uXzEwMjRfdHA4JTJG",highlighted:'optimum-cli <span class="hljs-built_in">export</span> neuron --model black-forest-labs/FLUX.1-schnell --tensor_parallel_size 8 --batch_size 1 --height 1024 --width 1024 --num_images_per_prompt 1 --sequence_length 256 --torch_dtype bfloat16 flux_schnell_neuron_1024_tp8/',wrap:!1}}),V=new oe({props:{code:"ZnJvbSUyMG9wdGltdW0ubmV1cm9uJTIwaW1wb3J0JTIwTmV1cm9uRmx1eFBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyME5ldXJvbkZsdXhQaXBlbGluZS5mcm9tX3ByZXRyYWluZWQoJTIyZmx1eF9zY2huZWxsX25ldXJvbl8xMDI0X3RwOCUyMiklMEFwcm9tcHQlMjAlM0QlMjAlMjJBJTIwY2F0JTIwaG9sZGluZyUyMGElMjBzaWduJTIwdGhhdCUyMHNheXMlMjBoZWxsbyUyMHdvcmxkJTIyJTBBb3V0JTIwJTNEJTIwcGlwZShwcm9tcHQlMkMlMjBtYXhfc2VxdWVuY2VfbGVuZ3RoJTNEMjU2JTJDJTIwbnVtX2luZmVyZW5jZV9zdGVwcyUzRDQpLmltYWdlcyU1QjAlNUQ=",highlighted:`<span class="hljs-keyword">from</span> optimum.neuron <span class="hljs-keyword">import</span> NeuronFluxPipeline
pipe = NeuronFluxPipeline.from_pretrained(<span class="hljs-string">&quot;flux_schnell_neuron_1024_tp8&quot;</span>)
prompt = <span class="hljs-string">&quot;A cat holding a sign that says hello world&quot;</span>
out = pipe(prompt, max_sequence_length=<span class="hljs-number">256</span>, num_inference_steps=<span class="hljs-number">4</span>).images[<span class="hljs-number">0</span>]`,wrap:!1}}),W=new ae({props:{title:"NeuronFluxPipeline",local:"optimum.neuron.NeuronFluxPipeline",headingTag:"h2"}}),z=new me({props:{name:"class optimum.neuron.NeuronFluxPipeline",anchor:"optimum.neuron.NeuronFluxPipeline",parameters:[{name:"config",val:": dict[str, typing.Any]"},{name:"configs",val:": dict[str, 'PretrainedConfig']"},{name:"neuron_configs",val:": dict[str, 'NeuronDefaultConfig']"},{name:"data_parallel_mode",val:": typing.Literal['none', 'unet', 'transformer', 'all']"},{name:"scheduler",val:": diffusers.schedulers.scheduling_utils.SchedulerMixin | None"},{name:"vae_decoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeDecoder"},{name:"text_encoder",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"text_encoder_2",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"unet",val:": torch.jit._script.ScriptModule | NeuronModelUnet | None = None"},{name:"transformer",val:": torch.jit._script.ScriptModule | NeuronModelTransformer | None = None"},{name:"vae_encoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeEncoder | None = None"},{name:"image_encoder",val:": torch.jit._script.ScriptModule | None = None"},{name:"safety_checker",val:": torch.jit._script.ScriptModule | None = None"},{name:"tokenizer",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"tokenizer_2",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"feature_extractor",val:": transformers.models.clip.feature_extraction_clip.CLIPFeatureExtractor | None = None"},{name:"controlnet",val:": torch.jit._script.ScriptModule | list[torch.jit._script.ScriptModule]| NeuronControlNetModel | NeuronMultiControlNetModel | None = None"},{name:"requires_aesthetics_score",val:": bool = False"},{name:"force_zeros_for_empty_prompt",val:": bool = True"},{name:"add_watermarker",val:": bool | None = None"},{name:"model_save_dir",val:": str | pathlib.Path | tempfile.TemporaryDirectory | None = None"},{name:"model_and_config_save_paths",val:": dict[str, tuple[str, pathlib.Path]] | None = None"}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1620"}}),R=new me({props:{name:"__call__",anchor:"optimum.neuron.NeuronFluxPipeline.__call__",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1094"}}),E=new ae({props:{title:"NeuronFluxInpaintPipeline",local:"optimum.neuron.NeuronFluxInpaintPipeline",headingTag:"h2"}}),Q=new me({props:{name:"class optimum.neuron.NeuronFluxInpaintPipeline",anchor:"optimum.neuron.NeuronFluxInpaintPipeline",parameters:[{name:"config",val:": dict[str, typing.Any]"},{name:"configs",val:": dict[str, 'PretrainedConfig']"},{name:"neuron_configs",val:": dict[str, 'NeuronDefaultConfig']"},{name:"data_parallel_mode",val:": typing.Literal['none', 'unet', 'transformer', 'all']"},{name:"scheduler",val:": diffusers.schedulers.scheduling_utils.SchedulerMixin | None"},{name:"vae_decoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeDecoder"},{name:"text_encoder",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"text_encoder_2",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"unet",val:": torch.jit._script.ScriptModule | NeuronModelUnet | None = None"},{name:"transformer",val:": torch.jit._script.ScriptModule | NeuronModelTransformer | None = None"},{name:"vae_encoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeEncoder | None = None"},{name:"image_encoder",val:": torch.jit._script.ScriptModule | None = None"},{name:"safety_checker",val:": torch.jit._script.ScriptModule | None = None"},{name:"tokenizer",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"tokenizer_2",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"feature_extractor",val:": transformers.models.clip.feature_extraction_clip.CLIPFeatureExtractor | None = None"},{name:"controlnet",val:": torch.jit._script.ScriptModule | list[torch.jit._script.ScriptModule]| NeuronControlNetModel | NeuronMultiControlNetModel | None = None"},{name:"requires_aesthetics_score",val:": bool = False"},{name:"force_zeros_for_empty_prompt",val:": bool = True"},{name:"add_watermarker",val:": bool | None = None"},{name:"model_save_dir",val:": str | pathlib.Path | tempfile.TemporaryDirectory | None = None"},{name:"model_and_config_save_paths",val:": dict[str, tuple[str, pathlib.Path]] | None = None"}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1630"}}),Y=new me({props:{name:"__call__",anchor:"optimum.neuron.NeuronFluxInpaintPipeline.__call__",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1094"}}),P=new oe({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGxvYWRfaW1hZ2UlMEFmcm9tJTIwb3B0aW11bS5uZXVyb24lMjBpbXBvcnQlMjBOZXVyb25GbHV4SW5wYWludFBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyME5ldXJvbkZsdXhJbnBhaW50UGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMkppbmd5YSUyRkZsdXguMS1TY2huZWxsLTEwMjR4MTAyNC1uZXVyb254LXRwOCUyMiklMEFwcm9tcHQlMjAlM0QlMjAlMjJGYWNlJTIwb2YlMjBhJTIweWVsbG93JTIwY2F0JTJDJTIwaGlnaCUyMHJlc29sdXRpb24lMkMlMjBzaXR0aW5nJTIwb24lMjBhJTIwcGFyayUyMGJlbmNoJTIyJTBBaW1nX3VybCUyMCUzRCUyMCUyMmh0dHBzJTNBJTJGJTJGcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSUyRkNvbXBWaXMlMkZsYXRlbnQtZGlmZnVzaW9uJTJGbWFpbiUyRmRhdGElMkZpbnBhaW50aW5nX2V4YW1wbGVzJTJGb3ZlcnR1cmUtY3JlYXRpb25zLTVzSTZmUWdZSXVvLnBuZyUyMiUwQW1hc2tfdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZyYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tJTJGQ29tcFZpcyUyRmxhdGVudC1kaWZmdXNpb24lMkZtYWluJTJGZGF0YSUyRmlucGFpbnRpbmdfZXhhbXBsZXMlMkZvdmVydHVyZS1jcmVhdGlvbnMtNXNJNmZRZ1lJdW9fbWFzay5wbmclMjIlMEFzb3VyY2UlMjAlM0QlMjBsb2FkX2ltYWdlKGltZ191cmwpJTBBbWFzayUyMCUzRCUyMGxvYWRfaW1hZ2UobWFza191cmwpJTBBaW1hZ2VzJTIwJTNEJTIwcGlwZShwcm9tcHQlM0Rwcm9tcHQlMkMlMjBpbWFnZSUzRHNvdXJjZSUyQyUyMG1hc2tfaW1hZ2UlM0RtYXNrJTJDJTIwbWF4X3NlcXVlbmNlX2xlbmd0aCUzRDI1Nik=",highlighted:`<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">from</span> optimum.neuron <span class="hljs-keyword">import</span> NeuronFluxInpaintPipeline
pipe = NeuronFluxInpaintPipeline.from_pretrained(<span class="hljs-string">&quot;Jingya/Flux.1-Schnell-1024x1024-neuronx-tp8&quot;</span>)
prompt = <span class="hljs-string">&quot;Face of a yellow cat, high resolution, sitting on a park bench&quot;</span>
img_url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png&quot;</span>
mask_url = <span class="hljs-string">&quot;https://raw.githubusercontent.com/CompVis/latent-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png&quot;</span>
source = load_image(img_url)
mask = load_image(mask_url)
images = pipe(prompt=prompt, image=source, mask_image=mask, max_sequence_length=<span class="hljs-number">256</span>)`,wrap:!1}}),A=new ae({props:{title:"NeuronFluxKontextPipeline",local:"optimum.neuron.NeuronFluxKontextPipeline",headingTag:"h2"}}),D=new me({props:{name:"class optimum.neuron.NeuronFluxKontextPipeline",anchor:"optimum.neuron.NeuronFluxKontextPipeline",parameters:[{name:"config",val:": dict[str, typing.Any]"},{name:"configs",val:": dict[str, 'PretrainedConfig']"},{name:"neuron_configs",val:": dict[str, 'NeuronDefaultConfig']"},{name:"data_parallel_mode",val:": typing.Literal['none', 'unet', 'transformer', 'all']"},{name:"scheduler",val:": diffusers.schedulers.scheduling_utils.SchedulerMixin | None"},{name:"vae_decoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeDecoder"},{name:"text_encoder",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"text_encoder_2",val:": torch.jit._script.ScriptModule | NeuronModelTextEncoder | None = None"},{name:"unet",val:": torch.jit._script.ScriptModule | NeuronModelUnet | None = None"},{name:"transformer",val:": torch.jit._script.ScriptModule | NeuronModelTransformer | None = None"},{name:"vae_encoder",val:": torch.jit._script.ScriptModule | NeuronModelVaeEncoder | None = None"},{name:"image_encoder",val:": torch.jit._script.ScriptModule | None = None"},{name:"safety_checker",val:": torch.jit._script.ScriptModule | None = None"},{name:"tokenizer",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"tokenizer_2",val:": transformers.models.clip.tokenization_clip.CLIPTokenizer | transformers.models.t5.tokenization_t5.T5Tokenizer | None = None"},{name:"feature_extractor",val:": transformers.models.clip.feature_extraction_clip.CLIPFeatureExtractor | None = None"},{name:"controlnet",val:": torch.jit._script.ScriptModule | list[torch.jit._script.ScriptModule]| NeuronControlNetModel | NeuronMultiControlNetModel | None = None"},{name:"requires_aesthetics_score",val:": bool = False"},{name:"force_zeros_for_empty_prompt",val:": bool = True"},{name:"add_watermarker",val:": bool | None = None"},{name:"model_save_dir",val:": str | pathlib.Path | tempfile.TemporaryDirectory | None = None"},{name:"model_and_config_save_paths",val:": dict[str, tuple[str, pathlib.Path]] | None = None"}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1625"}}),K=new me({props:{name:"__call__",anchor:"optimum.neuron.NeuronFluxKontextPipeline.__call__",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/optimum-neuron/blob/v0.4.3/optimum/neuron/modeling_diffusion.py#L1094"}}),ee=new oe({props:{code:"ZnJvbSUyMGRpZmZ1c2Vycy51dGlscyUyMGltcG9ydCUyMGxvYWRfaW1hZ2UlMEFmcm9tJTIwb3B0aW11bS5uZXVyb24lMjBpbXBvcnQlMjBOZXVyb25GbHV4S29udGV4dFBpcGVsaW5lJTBBJTBBcGlwZSUyMCUzRCUyME5ldXJvbkZsdXhLb250ZXh0UGlwZWxpbmUuZnJvbV9wcmV0cmFpbmVkKCUyMkpsb25nZTQlMkZGTFVYLjEta29udGV4dC1uZXVyb254LTEwMjR4MTAyNC10cDglMjIpJTBBcHJvbXB0JTIwJTNEJTIwJTIyQ2hhbmdlJTIwdGhlJTIwY3VzaGlvbnMlMjBpbiUyMHRoZSUyMGNoYWlyJTIwZnJvbSUyMHJlZCUyMHRvJTIwZ3JlZW4lMjIlMEFpbWdfdXJsJTIwJTNEJTIwJTIyaHR0cHMlM0ElMkYlMkZodWdnaW5nZmFjZS5jbyUyRmRhdGFzZXRzJTJGSmxvbmdlNCUyRmRvY3VtZW50X2ltYWdlcyUyRnJlc29sdmUlMkZtYWluJTJGZmx1eF9vcHRpbXVtLnBuZyUyMiUwQXNvdXJjZSUyMCUzRCUyMGxvYWRfaW1hZ2UoaW1nX3VybCklMEFpbWFnZXMlMjAlM0QlMjBwaXBlKHByb21wdCUzRHByb21wdCUyQyUyMGltYWdlJTNEc291cmNlJTJDJTIwZ3VpZGFuY2Vfc2NhbGUlM0QyLjUp",highlighted:`<span class="hljs-keyword">from</span> diffusers.utils <span class="hljs-keyword">import</span> load_image
<span class="hljs-keyword">from</span> optimum.neuron <span class="hljs-keyword">import</span> NeuronFluxKontextPipeline
pipe = NeuronFluxKontextPipeline.from_pretrained(<span class="hljs-string">&quot;Jlonge4/FLUX.1-kontext-neuronx-1024x1024-tp8&quot;</span>)
prompt = <span class="hljs-string">&quot;Change the cushions in the chair from red to green&quot;</span>
img_url = <span class="hljs-string">&quot;https://huggingface.co/datasets/Jlonge4/document_images/resolve/main/flux_optimum.png&quot;</span>
source = load_image(img_url)
images = pipe(prompt=prompt, image=source, guidance_scale=<span class="hljs-number">2.5</span>)`,wrap:!1}}),{c(){f=r("meta"),ce=o(),pe=r("p"),de=o(),s(U.$$.fragment),Me=o(),s(v.$$.fragment),he=o(),N=r("p"),N.textContent=tt,fe=o(),w=r("blockquote"),w.innerHTML=nt,ye=o(),s(j.$$.fragment),ge=o(),x=r("ul"),x.innerHTML=lt,_e=o(),s($.$$.fragment),be=o(),C=r("ul"),C.innerHTML=ot,Te=o(),s(Z.$$.fragment),we=o(),s(I.$$.fragment),Je=o(),X=r("ul"),X.innerHTML=at,Ue=o(),s(G.$$.fragment),ve=o(),y=r("img"),Ne=o(),s(k.$$.fragment),je=o(),B=r("ul"),B.innerHTML=it,xe=o(),s(F.$$.fragment),$e=o(),s(V.$$.fragment),Ce=o(),g=r("img"),Ze=o(),s(W.$$.fragment),Ie=o(),S=r("p"),S.textContent=mt,Xe=o(),_=r("div"),s(z.$$.fragment),De=o(),re=r("div"),s(R.$$.fragment),Ge=o(),s(E.$$.fragment),ke=o(),L=r("p"),L.textContent=pt,Be=o(),b=r("div"),s(Q.$$.fragment),Ke=o(),ie=r("div"),s(Y.$$.fragment),Fe=o(),H=r("p"),H.innerHTML=ut,Ve=o(),s(P.$$.fragment),We=o(),s(A.$$.fragment),Se=o(),q=r("p"),q.textContent=ct,ze=o(),T=r("div"),s(D.$$.fragment),Oe=o(),se=r("div"),s(K.$$.fragment),Re=o(),O=r("p"),O.innerHTML=dt,Ee=o(),s(ee.$$.fragment),Le=o(),te=r("table"),te.innerHTML=Mt,Qe=o(),ne=r("p"),ne.innerHTML=ht,Ye=o(),ue=r("p"),this.h()},l(e){const t=vt("svelte-u9bgzb",document.head);f=i(t,"META",{name:!0,content:!0}),t.forEach(n),ce=a(e),pe=i(e,"P",{}),J(pe).forEach(n),de=a(e),m(U.$$.fragment,e),Me=a(e),m(v.$$.fragment,e),he=a(e),N=i(e,"P",{"data-svelte-h":!0}),h(N)!=="svelte-11vliac"&&(N.textContent=tt),fe=a(e),w=i(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),h(w)!=="svelte-1tcsy8r"&&(w.innerHTML=nt),ye=a(e),m(j.$$.fragment,e),ge=a(e),x=i(e,"UL",{"data-svelte-h":!0}),h(x)!=="svelte-mgkwwv"&&(x.innerHTML=lt),_e=a(e),m($.$$.fragment,e),be=a(e),C=i(e,"UL",{"data-svelte-h":!0}),h(C)!=="svelte-dzs8tq"&&(C.innerHTML=ot),Te=a(e),m(Z.$$.fragment,e),we=a(e),m(I.$$.fragment,e),Je=a(e),X=i(e,"UL",{"data-svelte-h":!0}),h(X)!=="svelte-4ij2qu"&&(X.innerHTML=at),Ue=a(e),m(G.$$.fragment,e),ve=a(e),y=i(e,"IMG",{src:!0,width:!0,height:!0,alt:!0}),Ne=a(e),m(k.$$.fragment,e),je=a(e),B=i(e,"UL",{"data-svelte-h":!0}),h(B)!=="svelte-195s5cj"&&(B.innerHTML=it),xe=a(e),m(F.$$.fragment,e),$e=a(e),m(V.$$.fragment,e),Ce=a(e),g=i(e,"IMG",{src:!0,width:!0,height:!0,alt:!0}),Ze=a(e),m(W.$$.fragment,e),Ie=a(e),S=i(e,"P",{"data-svelte-h":!0}),h(S)!=="svelte-77uxl4"&&(S.textContent=mt),Xe=a(e),_=i(e,"DIV",{class:!0});var Pe=J(_);m(z.$$.fragment,Pe),De=a(Pe),re=i(Pe,"DIV",{class:!0});var ft=J(re);m(R.$$.fragment,ft),ft.forEach(n),Pe.forEach(n),Ge=a(e),m(E.$$.fragment,e),ke=a(e),L=i(e,"P",{"data-svelte-h":!0}),h(L)!=="svelte-9yovg9"&&(L.textContent=pt),Be=a(e),b=i(e,"DIV",{class:!0});var Ae=J(b);m(Q.$$.fragment,Ae),Ke=a(Ae),ie=i(Ae,"DIV",{class:!0});var yt=J(ie);m(Y.$$.fragment,yt),yt.forEach(n),Ae.forEach(n),Fe=a(e),H=i(e,"P",{"data-svelte-h":!0}),h(H)!=="svelte-1fnjqup"&&(H.innerHTML=ut),Ve=a(e),m(P.$$.fragment,e),We=a(e),m(A.$$.fragment,e),Se=a(e),q=i(e,"P",{"data-svelte-h":!0}),h(q)!=="svelte-s5mcn4"&&(q.textContent=ct),ze=a(e),T=i(e,"DIV",{class:!0});var qe=J(T);m(D.$$.fragment,qe),Oe=a(qe),se=i(qe,"DIV",{class:!0});var gt=J(se);m(K.$$.fragment,gt),gt.forEach(n),qe.forEach(n),Re=a(e),O=i(e,"P",{"data-svelte-h":!0}),h(O)!=="svelte-209r0y"&&(O.innerHTML=dt),Ee=a(e),m(ee.$$.fragment,e),Le=a(e),te=i(e,"TABLE",{"data-svelte-h":!0}),h(te)!=="svelte-3kvp36"&&(te.innerHTML=Mt),Qe=a(e),ne=i(e,"P",{"data-svelte-h":!0}),h(ne)!=="svelte-1wos5lv"&&(ne.innerHTML=ht),Ye=a(e),ue=i(e,"P",{}),J(ue).forEach(n),this.h()},h(){M(f,"name","hf:doc:metadata"),M(f,"content",xt),M(w,"class","tip"),_t(y.src,rt="https://huggingface.co/datasets/Jingya/document_images/resolve/main/optimum/neuron/flux_optimum.png")||M(y,"src",rt),M(y,"width","256"),M(y,"height","256"),M(y,"alt","Flux dev generated image."),_t(g.src,st="https://huggingface.co/datasets/Jingya/document_images/resolve/main/optimum/neuron/flux_schnell_optimum.png")||M(g,"src",st),M(g,"width","256"),M(g,"height","256"),M(g,"alt","Flux schnell generated image."),M(re,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),M(_,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),M(ie,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),M(b,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),M(se,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),M(T,"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){le(document.head,f),l(e,ce,t),l(e,pe,t),l(e,de,t),p(U,e,t),l(e,Me,t),p(v,e,t),l(e,he,t),l(e,N,t),l(e,fe,t),l(e,w,t),l(e,ye,t),p(j,e,t),l(e,ge,t),l(e,x,t),l(e,_e,t),p($,e,t),l(e,be,t),l(e,C,t),l(e,Te,t),p(Z,e,t),l(e,we,t),p(I,e,t),l(e,Je,t),l(e,X,t),l(e,Ue,t),p(G,e,t),l(e,ve,t),l(e,y,t),l(e,Ne,t),p(k,e,t),l(e,je,t),l(e,B,t),l(e,xe,t),p(F,e,t),l(e,$e,t),p(V,e,t),l(e,Ce,t),l(e,g,t),l(e,Ze,t),p(W,e,t),l(e,Ie,t),l(e,S,t),l(e,Xe,t),l(e,_,t),p(z,_,null),le(_,De),le(_,re),p(R,re,null),l(e,Ge,t),p(E,e,t),l(e,ke,t),l(e,L,t),l(e,Be,t),l(e,b,t),p(Q,b,null),le(b,Ke),le(b,ie),p(Y,ie,null),l(e,Fe,t),l(e,H,t),l(e,Ve,t),p(P,e,t),l(e,We,t),p(A,e,t),l(e,Se,t),l(e,q,t),l(e,ze,t),l(e,T,t),p(D,T,null),le(T,Oe),le(T,se),p(K,se,null),l(e,Re,t),l(e,O,t),l(e,Ee,t),p(ee,e,t),l(e,Le,t),l(e,te,t),l(e,Qe,t),l(e,ne,t),l(e,Ye,t),l(e,ue,t),He=!0},p:Tt,i(e){He||(u(U.$$.fragment,e),u(v.$$.fragment,e),u(j.$$.fragment,e),u($.$$.fragment,e),u(Z.$$.fragment,e),u(I.$$.fragment,e),u(G.$$.fragment,e),u(k.$$.fragment,e),u(F.$$.fragment,e),u(V.$$.fragment,e),u(W.$$.fragment,e),u(z.$$.fragment,e),u(R.$$.fragment,e),u(E.$$.fragment,e),u(Q.$$.fragment,e),u(Y.$$.fragment,e),u(P.$$.fragment,e),u(A.$$.fragment,e),u(D.$$.fragment,e),u(K.$$.fragment,e),u(ee.$$.fragment,e),He=!0)},o(e){c(U.$$.fragment,e),c(v.$$.fragment,e),c(j.$$.fragment,e),c($.$$.fragment,e),c(Z.$$.fragment,e),c(I.$$.fragment,e),c(G.$$.fragment,e),c(k.$$.fragment,e),c(F.$$.fragment,e),c(V.$$.fragment,e),c(W.$$.fragment,e),c(z.$$.fragment,e),c(R.$$.fragment,e),c(E.$$.fragment,e),c(Q.$$.fragment,e),c(Y.$$.fragment,e),c(P.$$.fragment,e),c(A.$$.fragment,e),c(D.$$.fragment,e),c(K.$$.fragment,e),c(ee.$$.fragment,e),He=!1},d(e){e&&(n(ce),n(pe),n(de),n(Me),n(he),n(N),n(fe),n(w),n(ye),n(ge),n(x),n(_e),n(be),n(C),n(Te),n(we),n(Je),n(X),n(Ue),n(ve),n(y),n(Ne),n(je),n(B),n(xe),n($e),n(Ce),n(g),n(Ze),n(Ie),n(S),n(Xe),n(_),n(Ge),n(ke),n(L),n(Be),n(b),n(Fe),n(H),n(Ve),n(We),n(Se),n(q),n(ze),n(T),n(Re),n(O),n(Ee),n(Le),n(te),n(Qe),n(ne),n(Ye),n(ue)),n(f),d(U,e),d(v,e),d(j,e),d($,e),d(Z,e),d(I,e),d(G,e),d(k,e),d(F,e),d(V,e),d(W,e),d(z),d(R),d(E,e),d(Q),d(Y),d(P,e),d(A,e),d(D),d(K),d(ee,e)}}}const xt='{"title":"Flux","local":"flux","sections":[{"title":"Export to Neuron","local":"export-to-neuron","sections":[],"depth":3},{"title":"Guidance-distilled","local":"guidance-distilled","sections":[],"depth":2},{"title":"Timestep-distilled","local":"timestep-distilled","sections":[],"depth":2},{"title":"NeuronFluxPipeline","local":"optimum.neuron.NeuronFluxPipeline","sections":[],"depth":2},{"title":"NeuronFluxInpaintPipeline","local":"optimum.neuron.NeuronFluxInpaintPipeline","sections":[],"depth":2},{"title":"NeuronFluxKontextPipeline","local":"optimum.neuron.NeuronFluxKontextPipeline","sections":[],"depth":2}],"depth":1}';function $t(et){return wt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Bt extends Jt{constructor(f){super(),Ut(this,f,$t,jt,bt,{})}}export{Bt as component};

Xet Storage Details

Size:
28.9 kB
·
Xet hash:
23cc629f63a27aa45bb46734ded44d53f5072c5c1d637da5007fee002cb97006

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