Buckets:
| import{s as _o,o as bo,n as ho}from"../chunks/scheduler.8c3d61f6.js";import{S as vo,i as yo,g as i,s as n,r as l,A as $o,h as s,f as r,c as o,j as b,u,x as h,k as v,y as t,a as _,v as f,d as c,t as p,w as m}from"../chunks/index.da70eac4.js";import{T as wo}from"../chunks/Tip.1d9b8c37.js";import{D as $}from"../chunks/Docstring.c021b19a.js";import{C as zo}from"../chunks/CodeBlock.a9c4becf.js";import{E as qo}from"../chunks/ExampleCodeBlock.56b4589c.js";import{H as Be,E as xo}from"../chunks/getInferenceSnippets.725ed3d4.js";function Co(Pe){let y,L='Learn how to quantize models in the <a href="../quantization/overview">Quantization</a> guide.';return{c(){y=i("p"),y.innerHTML=L},l(x){y=s(x,"P",{"data-svelte-h":!0}),h(y)!=="svelte-1dd515k"&&(y.innerHTML=L)},m(x,C){_(x,y,C)},p:ho,d(x){x&&r(y)}}}function To(Pe){let y,L="Example:",x,C,k;return C=new zo({props:{code:"ZnJvbSUyMGRpZmZ1c2VycyUyMGltcG9ydCUyMEZsdXhUcmFuc2Zvcm1lcjJETW9kZWwlMkMlMjBUb3JjaEFvQ29uZmlnJTBBJTBBcXVhbnRpemF0aW9uX2NvbmZpZyUyMCUzRCUyMFRvcmNoQW9Db25maWcoJTIyaW50OHdvJTIyKSUwQXRyYW5zZm9ybWVyJTIwJTNEJTIwRmx1eFRyYW5zZm9ybWVyMkRNb2RlbC5mcm9tX3ByZXRyYWluZWQoJTBBJTIwJTIwJTIwJTIwJTIyYmxhY2stZm9yZXN0LWxhYnMlMkZGbHV4LjEtRGV2JTIyJTJDJTBBJTIwJTIwJTIwJTIwc3ViZm9sZGVyJTNEJTIydHJhbnNmb3JtZXIlMjIlMkMlMEElMjAlMjAlMjAlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEcXVhbnRpemF0aW9uX2NvbmZpZyUyQyUwQSUyMCUyMCUyMCUyMHRvcmNoX2R0eXBlJTNEdG9yY2guYmZsb2F0MTYlMkMlMEEp",highlighted:`<span class="hljs-keyword">from</span> diffusers <span class="hljs-keyword">import</span> FluxTransformer2DModel, TorchAoConfig | |
| quantization_config = TorchAoConfig(<span class="hljs-string">"int8wo"</span>) | |
| transformer = FluxTransformer2DModel.from_pretrained( | |
| <span class="hljs-string">"black-forest-labs/Flux.1-Dev"</span>, | |
| subfolder=<span class="hljs-string">"transformer"</span>, | |
| quantization_config=quantization_config, | |
| torch_dtype=torch.bfloat16, | |
| )`,wrap:!1}}),{c(){y=i("p"),y.textContent=L,x=n(),l(C.$$.fragment)},l(z){y=s(z,"P",{"data-svelte-h":!0}),h(y)!=="svelte-11lpom8"&&(y.textContent=L),x=o(z),u(C.$$.fragment,z)},m(z,M){_(z,y,M),_(z,x,M),f(C,z,M),k=!0},p:ho,i(z){k||(c(C.$$.fragment,z),k=!0)},o(z){p(C.$$.fragment,z),k=!1},d(z){z&&(r(y),r(x)),m(C,z)}}}function ko(Pe){let y,L,x,C,k,z,M,Vn="Quantization techniques reduce memory and computational costs by representing weights and activations with lower-precision data types like 8-bit integers (int8). This enables loading larger models you normally wouldn’t be able to fit into memory, and speeding up inference.",ft,P,ct,te,pt,Q,ne,Zt,Ae,Un='Configuration class to be used when applying quantization on-the-fly to <a href="/docs/diffusers/pr_12036/en/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained">from_pretrained()</a>.',mt,oe,gt,w,ie,Rt,Fe,Jn=`This is a wrapper class about all possible attributes and features that you can play with a model that has been | |
| loaded using <code>bitsandbytes</code>.`,Wt,Ie,Nn="This replaces <code>load_in_8bit</code> or <code>load_in_4bit</code> therefore both options are mutually exclusive.",St,Ee,Gn=`Currently only supports <code>LLM.int8()</code>, <code>FP4</code>, and <code>NF4</code> quantization. If more methods are added to <code>bitsandbytes</code>, | |
| then more arguments will be added to this class.`,Xt,A,se,Yt,He,jn="Returns <code>True</code> if the model is quantizable, <code>False</code> otherwise.",Ot,F,re,Kt,Ve,Zn="Safety checker that arguments are correct - also replaces some NoneType arguments with their default values.",en,I,ae,tn,Ue,Rn=`This method returns the quantization method used for the model. If the model is not quantizable, it returns | |
| <code>None</code>.`,nn,E,de,on,Je,Wn=`Removes all attributes from config which correspond to the default config attributes for better readability and | |
| serializes to a Python dictionary.`,ht,le,_t,B,ue,sn,Ne,Sn="This is a config class for GGUF Quantization techniques.",bt,fe,vt,T,ce,rn,Ge,Xn=`This is a wrapper class about all possible attributes and features that you can play with a model that has been | |
| loaded using <code>quanto</code>.`,an,je,Yn=`modules_to_not_convert (<code>list</code>, <em>optional</em>, default to <code>None</code>): | |
| The list of modules to not quantize, useful for quantizing models that explicitly require to have some | |
| modules left in their original precision (e.g. Whisper encoder, Llava encoder, Mixtral gate layers).`,dn,H,pe,ln,Ze,On="Safety checker that arguments are correct",yt,me,$t,D,ge,un,Re,Kn="This is a config class for torchao quantization/sparsity techniques.",fn,V,wt,he,zt,d,_e,cn,We,eo=`Abstract class of the HuggingFace quantizer. Supports for now quantizing HF diffusers models for inference and/or | |
| quantization. This class is used only for diffusers.models.modeling_utils.ModelMixin.from_pretrained and cannot be | |
| easily used outside the scope of that method yet.`,pn,Se,to=`Attributes | |
| quantization_config (<code>diffusers.quantizers.quantization_config.QuantizationConfigMixin</code>): | |
| The quantization config that defines the quantization parameters of your model that you want to quantize. | |
| modules_to_not_convert (<code>List[str]</code>, <em>optional</em>): | |
| The list of module names to not convert when quantizing the model. | |
| required_packages (<code>List[str]</code>, <em>optional</em>): | |
| The list of required pip packages to install prior to using the quantizer | |
| requires_calibration (<code>bool</code>): | |
| Whether the quantization method requires to calibrate the model before using it.`,mn,U,be,gn,Xe,no="adjust max_memory argument for infer_auto_device_map() if extra memory is needed for quantization",hn,J,ve,_n,Ye,oo=`Override this method if you want to adjust the <code>target_dtype</code> variable used in <code>from_pretrained</code> to compute the | |
| device_map in case the device_map is a <code>str</code>. E.g. for bitsandbytes we force-set <code>target_dtype</code> to <code>torch.int8</code> | |
| and for 4-bit we pass a custom enum <code>accelerate.CustomDtype.int4</code>.`,bn,N,ye,vn,Oe,io=`checks if a loaded state_dict component is part of quantized param + some validation; only defined for | |
| quantization methods that require to create a new parameters for quantization.`,yn,G,$e,$n,Ke,so="checks if the quantized param has expected shape.",wn,j,we,zn,et,ro="takes needed components from state_dict and creates quantized param.",qn,Z,ze,xn,tt,ao=`Potentially dequantize the model to retrieve the original model, with some loss in accuracy / performance. Note | |
| not all quantization schemes support this.`,Cn,R,qe,Tn,nt,lo=`returns dtypes for modules that are not quantized - used for the computation of the device_map in case one | |
| passes a str as a device_map. The method will use the <code>modules_to_not_convert</code> that is modified in | |
| <code>_process_model_before_weight_loading</code>. <code>diffusers</code> models don’t have any <code>modules_to_not_convert</code> attributes | |
| yet but this can change soon in the future.`,kn,W,xe,Mn,ot,uo=`Post-process the model post weights loading. Make sure to override the abstract method | |
| <code>_process_model_after_weight_loading</code>.`,Dn,S,Ce,Ln,it,fo=`Setting model attributes and/or converting model before weights loading. At this point the model should be | |
| initialized on the meta device so you can freely manipulate the skeleton of the model in order to replace | |
| modules in-place. Make sure to override the abstract method <code>_process_model_before_weight_loading</code>.`,Qn,X,Te,Bn,st,co=`Override this method if you want to pass a override the existing device map with a new one. E.g. for | |
| bitsandbytes, since <code>accelerate</code> is a hard requirement, if no device_map is passed, the device_map is set to | |
| \`“auto”“`,Pn,Y,ke,An,rt,po="Override this method if you want to adjust the <code>missing_keys</code>.",Fn,O,Me,In,at,mo=`Some quantization methods require to explicitly set the dtype of the model to a target dtype. You need to | |
| override this method in case you want to make sure that behavior is preserved`,En,K,De,Hn,dt,go=`This method is used to potentially check for potential conflicts with arguments that are passed in | |
| <code>from_pretrained</code>. You need to define it for all future quantizers that are integrated with diffusers. If no | |
| explicit check are needed, simply return nothing.`,qt,Le,xt,ut,Ct;return k=new Be({props:{title:"Quantization",local:"quantization",headingTag:"h1"}}),P=new wo({props:{$$slots:{default:[Co]},$$scope:{ctx:Pe}}}),te=new Be({props:{title:"PipelineQuantizationConfig",local:"diffusers.PipelineQuantizationConfig",headingTag:"h2"}}),ne=new $({props:{name:"class diffusers.PipelineQuantizationConfig",anchor:"diffusers.PipelineQuantizationConfig",parameters:[{name:"quant_backend",val:": str = None"},{name:"quant_kwargs",val:": typing.Dict[str, typing.Union[str, float, int, dict]] = None"},{name:"components_to_quantize",val:": typing.Optional[typing.List[str]] = None"},{name:"quant_mapping",val:": typing.Dict[str, typing.Union[diffusers.quantizers.quantization_config.QuantizationConfigMixin, ForwardRef('TransformersQuantConfigMixin')]] = None"}],parametersDescription:[{anchor:"diffusers.PipelineQuantizationConfig.quant_backend",description:`<strong>quant_backend</strong> (<code>str</code>) — Quantization backend to be used. When using this option, we assume that the backend | |
| is available to both <code>diffusers</code> and <code>transformers</code>.`,name:"quant_backend"},{anchor:"diffusers.PipelineQuantizationConfig.quant_kwargs",description:"<strong>quant_kwargs</strong> (<code>dict</code>) — Params to initialize the quantization backend class.",name:"quant_kwargs"},{anchor:"diffusers.PipelineQuantizationConfig.components_to_quantize",description:"<strong>components_to_quantize</strong> (<code>list</code>) — Components of a pipeline to be quantized.",name:"components_to_quantize"},{anchor:"diffusers.PipelineQuantizationConfig.quant_mapping",description:`<strong>quant_mapping</strong> (<code>dict</code>) — Mapping defining the quantization specs to be used for the pipeline | |
| components. When using this argument, users are not expected to provide <code>quant_backend</code>, <code>quant_kawargs</code>, | |
| and <code>components_to_quantize</code>.`,name:"quant_mapping"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/pipe_quant_config.py#L33"}}),oe=new Be({props:{title:"BitsAndBytesConfig",local:"diffusers.BitsAndBytesConfig",headingTag:"h2"}}),ie=new $({props:{name:"class diffusers.BitsAndBytesConfig",anchor:"diffusers.BitsAndBytesConfig",parameters:[{name:"load_in_8bit",val:" = False"},{name:"load_in_4bit",val:" = False"},{name:"llm_int8_threshold",val:" = 6.0"},{name:"llm_int8_skip_modules",val:" = None"},{name:"llm_int8_enable_fp32_cpu_offload",val:" = False"},{name:"llm_int8_has_fp16_weight",val:" = False"},{name:"bnb_4bit_compute_dtype",val:" = None"},{name:"bnb_4bit_quant_type",val:" = 'fp4'"},{name:"bnb_4bit_use_double_quant",val:" = False"},{name:"bnb_4bit_quant_storage",val:" = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.BitsAndBytesConfig.load_in_8bit",description:`<strong>load_in_8bit</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| This flag is used to enable 8-bit quantization with LLM.int8().`,name:"load_in_8bit"},{anchor:"diffusers.BitsAndBytesConfig.load_in_4bit",description:`<strong>load_in_4bit</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| This flag is used to enable 4-bit quantization by replacing the Linear layers with FP4/NF4 layers from | |
| <code>bitsandbytes</code>.`,name:"load_in_4bit"},{anchor:"diffusers.BitsAndBytesConfig.llm_int8_threshold",description:`<strong>llm_int8_threshold</strong> (<code>float</code>, <em>optional</em>, defaults to 6.0) — | |
| This corresponds to the outlier threshold for outlier detection as described in <code>LLM.int8() : 8-bit Matrix Multiplication for Transformers at Scale</code> paper: <a href="https://huggingface.co/papers/2208.07339" rel="nofollow">https://huggingface.co/papers/2208.07339</a> Any hidden states | |
| value that is above this threshold will be considered an outlier and the operation on those values will be | |
| done in fp16. Values are usually normally distributed, that is, most values are in the range [-3.5, 3.5], | |
| but there are some exceptional systematic outliers that are very differently distributed for large models. | |
| These outliers are often in the interval [-60, -6] or [6, 60]. Int8 quantization works well for values of | |
| magnitude ~5, but beyond that, there is a significant performance penalty. A good default threshold is 6, | |
| but a lower threshold might be needed for more unstable models (small models, fine-tuning).`,name:"llm_int8_threshold"},{anchor:"diffusers.BitsAndBytesConfig.llm_int8_skip_modules",description:`<strong>llm_int8_skip_modules</strong> (<code>List[str]</code>, <em>optional</em>) — | |
| An explicit list of the modules that we do not want to convert in 8-bit. This is useful for models such as | |
| Jukebox that has several heads in different places and not necessarily at the last position. For example | |
| for <code>CausalLM</code> models, the last <code>lm_head</code> is typically kept in its original <code>dtype</code>.`,name:"llm_int8_skip_modules"},{anchor:"diffusers.BitsAndBytesConfig.llm_int8_enable_fp32_cpu_offload",description:`<strong>llm_int8_enable_fp32_cpu_offload</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| This flag is used for advanced use cases and users that are aware of this feature. If you want to split | |
| your model in different parts and run some parts in int8 on GPU and some parts in fp32 on CPU, you can use | |
| this flag. This is useful for offloading large models such as <code>google/flan-t5-xxl</code>. Note that the int8 | |
| operations will not be run on CPU.`,name:"llm_int8_enable_fp32_cpu_offload"},{anchor:"diffusers.BitsAndBytesConfig.llm_int8_has_fp16_weight",description:`<strong>llm_int8_has_fp16_weight</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| This flag runs LLM.int8() with 16-bit main weights. This is useful for fine-tuning as the weights do not | |
| have to be converted back and forth for the backward pass.`,name:"llm_int8_has_fp16_weight"},{anchor:"diffusers.BitsAndBytesConfig.bnb_4bit_compute_dtype",description:`<strong>bnb_4bit_compute_dtype</strong> (<code>torch.dtype</code> or str, <em>optional</em>, defaults to <code>torch.float32</code>) — | |
| This sets the computational type which might be different than the input type. For example, inputs might be | |
| fp32, but computation can be set to bf16 for speedups.`,name:"bnb_4bit_compute_dtype"},{anchor:"diffusers.BitsAndBytesConfig.bnb_4bit_quant_type",description:`<strong>bnb_4bit_quant_type</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"fp4"</code>) — | |
| This sets the quantization data type in the bnb.nn.Linear4Bit layers. Options are FP4 and NF4 data types | |
| which are specified by <code>fp4</code> or <code>nf4</code>.`,name:"bnb_4bit_quant_type"},{anchor:"diffusers.BitsAndBytesConfig.bnb_4bit_use_double_quant",description:`<strong>bnb_4bit_use_double_quant</strong> (<code>bool</code>, <em>optional</em>, defaults to <code>False</code>) — | |
| This flag is used for nested quantization where the quantization constants from the first quantization are | |
| quantized again.`,name:"bnb_4bit_use_double_quant"},{anchor:"diffusers.BitsAndBytesConfig.bnb_4bit_quant_storage",description:`<strong>bnb_4bit_quant_storage</strong> (<code>torch.dtype</code> or str, <em>optional</em>, defaults to <code>torch.uint8</code>) — | |
| This sets the storage type to pack the quanitzed 4-bit prarams.`,name:"bnb_4bit_quant_storage"},{anchor:"diffusers.BitsAndBytesConfig.kwargs",description:`<strong>kwargs</strong> (<code>Dict[str, Any]</code>, <em>optional</em>) — | |
| Additional parameters from which to initialize the configuration object.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L176"}}),se=new $({props:{name:"is_quantizable",anchor:"diffusers.BitsAndBytesConfig.is_quantizable",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L349"}}),re=new $({props:{name:"post_init",anchor:"diffusers.BitsAndBytesConfig.post_init",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L312"}}),ae=new $({props:{name:"quantization_method",anchor:"diffusers.BitsAndBytesConfig.quantization_method",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L355"}}),de=new $({props:{name:"to_diff_dict",anchor:"diffusers.BitsAndBytesConfig.to_diff_dict",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L386",returnDescription:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p>Dictionary of all the attributes that make up this configuration instance,</p> | |
| `,returnType:`<script context="module">export const metadata = 'undefined';<\/script> | |
| <p><code>Dict[str, Any]</code></p> | |
| `}}),le=new Be({props:{title:"GGUFQuantizationConfig",local:"diffusers.GGUFQuantizationConfig",headingTag:"h2"}}),ue=new $({props:{name:"class diffusers.GGUFQuantizationConfig",anchor:"diffusers.GGUFQuantizationConfig",parameters:[{name:"compute_dtype",val:": typing.Optional[ForwardRef('torch.dtype')] = None"}],parametersDescription:[{anchor:"diffusers.GGUFQuantizationConfig.compute_dtype",description:`<strong>compute_dtype</strong> — (<code>torch.dtype</code>, defaults to <code>torch.float32</code>): | |
| This sets the computational type which might be different than the input type. For example, inputs might be | |
| fp32, but computation can be set to bf16 for speedups.`,name:"compute_dtype"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L409"}}),fe=new Be({props:{title:"QuantoConfig",local:"diffusers.QuantoConfig",headingTag:"h2"}}),ce=new $({props:{name:"class diffusers.QuantoConfig",anchor:"diffusers.QuantoConfig",parameters:[{name:"weights_dtype",val:": str = 'int8'"},{name:"modules_to_not_convert",val:": typing.Optional[typing.List[str]] = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.QuantoConfig.weights_dtype",description:`<strong>weights_dtype</strong> (<code>str</code>, <em>optional</em>, defaults to <code>"int8"</code>) — | |
| The target dtype for the weights after quantization. Supported values are (“float8”,“int8”,“int4”,“int2”)`,name:"weights_dtype"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L694"}}),pe=new $({props:{name:"post_init",anchor:"diffusers.QuantoConfig.post_init",parameters:[],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L720"}}),me=new Be({props:{title:"TorchAoConfig",local:"diffusers.TorchAoConfig",headingTag:"h2"}}),ge=new $({props:{name:"class diffusers.TorchAoConfig",anchor:"diffusers.TorchAoConfig",parameters:[{name:"quant_type",val:": str"},{name:"modules_to_not_convert",val:": typing.Optional[typing.List[str]] = None"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.TorchAoConfig.quant_type",description:`<strong>quant_type</strong> (<code>str</code>) — | |
| The type of quantization we want to use, currently supporting:</p> | |
| <ul> | |
| <li> | |
| <p><strong>Integer quantization:</strong></p> | |
| <ul> | |
| <li>Full function names: <code>int4_weight_only</code>, <code>int8_dynamic_activation_int4_weight</code>, | |
| <code>int8_weight_only</code>, <code>int8_dynamic_activation_int8_weight</code></li> | |
| <li>Shorthands: <code>int4wo</code>, <code>int4dq</code>, <code>int8wo</code>, <code>int8dq</code></li> | |
| </ul> | |
| </li> | |
| <li> | |
| <p><strong>Floating point 8-bit quantization:</strong></p> | |
| <ul> | |
| <li>Full function names: <code>float8_weight_only</code>, <code>float8_dynamic_activation_float8_weight</code>, | |
| <code>float8_static_activation_float8_weight</code></li> | |
| <li>Shorthands: <code>float8wo</code>, <code>float8wo_e5m2</code>, <code>float8wo_e4m3</code>, <code>float8dq</code>, <code>float8dq_e4m3</code>, | |
| <code>float8_e4m3_tensor</code>, <code>float8_e4m3_row</code>,</li> | |
| </ul> | |
| </li> | |
| <li> | |
| <p><strong>Floating point X-bit quantization:</strong></p> | |
| <ul> | |
| <li>Full function names: <code>fpx_weight_only</code></li> | |
| <li>Shorthands: <code>fpX_eAwB</code>, where <code>X</code> is the number of bits (between <code>1</code> to <code>7</code>), <code>A</code> is the number | |
| of exponent bits and <code>B</code> is the number of mantissa bits. The constraint of <code>X == A + B + 1</code> must | |
| be satisfied for a given shorthand notation.</li> | |
| </ul> | |
| </li> | |
| <li> | |
| <p><strong>Unsigned Integer quantization:</strong></p> | |
| <ul> | |
| <li>Full function names: <code>uintx_weight_only</code></li> | |
| <li>Shorthands: <code>uint1wo</code>, <code>uint2wo</code>, <code>uint3wo</code>, <code>uint4wo</code>, <code>uint5wo</code>, <code>uint6wo</code>, <code>uint7wo</code></li> | |
| </ul> | |
| </li> | |
| </ul>`,name:"quant_type"},{anchor:"diffusers.TorchAoConfig.modules_to_not_convert",description:`<strong>modules_to_not_convert</strong> (<code>List[str]</code>, <em>optional</em>, default to <code>None</code>) — | |
| The list of modules to not quantize, useful for quantizing models that explicitly require to have some | |
| modules left in their original precision.`,name:"modules_to_not_convert"},{anchor:"diffusers.TorchAoConfig.kwargs",description:`<strong>kwargs</strong> (<code>Dict[str, Any]</code>, <em>optional</em>) — | |
| The keyword arguments for the chosen type of quantization, for example, int4_weight_only quantization | |
| supports two keyword arguments <code>group_size</code> and <code>inner_k_tiles</code> currently. More API examples and | |
| documentation of arguments can be found in | |
| <a href="https://github.com/pytorch/ao/tree/main/torchao/quantization#other-available-quantization-techniques" rel="nofollow">https://github.com/pytorch/ao/tree/main/torchao/quantization#other-available-quantization-techniques</a>`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/quantization_config.py#L432"}}),V=new qo({props:{anchor:"diffusers.TorchAoConfig.example",$$slots:{default:[To]},$$scope:{ctx:Pe}}}),he=new Be({props:{title:"DiffusersQuantizer",local:"diffusers.DiffusersQuantizer",headingTag:"h2"}}),_e=new $({props:{name:"class diffusers.DiffusersQuantizer",anchor:"diffusers.DiffusersQuantizer",parameters:[{name:"quantization_config",val:": QuantizationConfigMixin"},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L34"}}),be=new $({props:{name:"adjust_max_memory",anchor:"diffusers.DiffusersQuantizer.adjust_max_memory",parameters:[{name:"max_memory",val:": typing.Dict[str, typing.Union[int, str]]"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L133"}}),ve=new $({props:{name:"adjust_target_dtype",anchor:"diffusers.DiffusersQuantizer.adjust_target_dtype",parameters:[{name:"torch_dtype",val:": torch.dtype"}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.adjust_target_dtype.torch_dtype",description:`<strong>torch_dtype</strong> (<code>torch.dtype</code>, <em>optional</em>) — | |
| The torch_dtype that is used to compute the device_map.`,name:"torch_dtype"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L91"}}),ye=new $({props:{name:"check_if_quantized_param",anchor:"diffusers.DiffusersQuantizer.check_if_quantized_param",parameters:[{name:"model",val:": ModelMixin"},{name:"param_value",val:": torch.Tensor"},{name:"param_name",val:": str"},{name:"state_dict",val:": typing.Dict[str, typing.Any]"},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L137"}}),$e=new $({props:{name:"check_quantized_param_shape",anchor:"diffusers.DiffusersQuantizer.check_quantized_param_shape",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L157"}}),we=new $({props:{name:"create_quantized_param",anchor:"diffusers.DiffusersQuantizer.create_quantized_param",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L151"}}),ze=new $({props:{name:"dequantize",anchor:"diffusers.DiffusersQuantizer.dequantize",parameters:[{name:"model",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L200"}}),qe=new $({props:{name:"get_special_dtypes_update",anchor:"diffusers.DiffusersQuantizer.get_special_dtypes_update",parameters:[{name:"model",val:""},{name:"torch_dtype",val:": torch.dtype"}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.get_special_dtypes_update.model",description:`<strong>model</strong> (<code>~diffusers.models.modeling_utils.ModelMixin</code>) — | |
| The model to quantize`,name:"model"},{anchor:"diffusers.DiffusersQuantizer.get_special_dtypes_update.torch_dtype",description:`<strong>torch_dtype</strong> (<code>torch.dtype</code>) — | |
| The dtype passed in <code>from_pretrained</code> method.`,name:"torch_dtype"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L113"}}),xe=new $({props:{name:"postprocess_model",anchor:"diffusers.DiffusersQuantizer.postprocess_model",parameters:[{name:"model",val:": ModelMixin"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.postprocess_model.model",description:`<strong>model</strong> (<code>~diffusers.models.modeling_utils.ModelMixin</code>) — | |
| The model to quantize`,name:"model"},{anchor:"diffusers.DiffusersQuantizer.postprocess_model.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>, <em>optional</em>) — | |
| The keyword arguments that are passed along <code>_process_model_after_weight_loading</code>.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L187"}}),Ce=new $({props:{name:"preprocess_model",anchor:"diffusers.DiffusersQuantizer.preprocess_model",parameters:[{name:"model",val:": ModelMixin"},{name:"**kwargs",val:""}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.preprocess_model.model",description:`<strong>model</strong> (<code>~diffusers.models.modeling_utils.ModelMixin</code>) — | |
| The model to quantize`,name:"model"},{anchor:"diffusers.DiffusersQuantizer.preprocess_model.kwargs",description:`<strong>kwargs</strong> (<code>dict</code>, <em>optional</em>) — | |
| The keyword arguments that are passed along <code>_process_model_before_weight_loading</code>.`,name:"kwargs"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L171"}}),Te=new $({props:{name:"update_device_map",anchor:"diffusers.DiffusersQuantizer.update_device_map",parameters:[{name:"device_map",val:": typing.Optional[typing.Dict[str, typing.Any]]"}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.update_device_map.device_map",description:`<strong>device_map</strong> (<code>Union[dict, str]</code>, <em>optional</em>) — | |
| The device_map that is passed through the <code>from_pretrained</code> method.`,name:"device_map"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L79"}}),ke=new $({props:{name:"update_missing_keys",anchor:"diffusers.DiffusersQuantizer.update_missing_keys",parameters:[{name:"model",val:""},{name:"missing_keys",val:": typing.List[str]"},{name:"prefix",val:": str"}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.update_missing_keys.missing_keys",description:`<strong>missing_keys</strong> (<code>List[str]</code>, <em>optional</em>) — | |
| The list of missing keys in the checkpoint compared to the state dict of the model`,name:"missing_keys"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L103"}}),Me=new $({props:{name:"update_torch_dtype",anchor:"diffusers.DiffusersQuantizer.update_torch_dtype",parameters:[{name:"torch_dtype",val:": torch.dtype"}],parametersDescription:[{anchor:"diffusers.DiffusersQuantizer.update_torch_dtype.torch_dtype",description:`<strong>torch_dtype</strong> (<code>torch.dtype</code>) — | |
| The input dtype that is passed in <code>from_pretrained</code>`,name:"torch_dtype"}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L68"}}),De=new $({props:{name:"validate_environment",anchor:"diffusers.DiffusersQuantizer.validate_environment",parameters:[{name:"*args",val:""},{name:"**kwargs",val:""}],source:"https://github.com/huggingface/diffusers/blob/vr_12036/src/diffusers/quantizers/base.py#L163"}}),Le=new xo({props:{source:"https://github.com/huggingface/diffusers/blob/main/docs/source/en/api/quantization.md"}}),{c(){y=i("meta"),L=n(),x=i("p"),C=n(),l(k.$$.fragment),z=n(),M=i("p"),M.textContent=Vn,ft=n(),l(P.$$.fragment),ct=n(),l(te.$$.fragment),pt=n(),Q=i("div"),l(ne.$$.fragment),Zt=n(),Ae=i("p"),Ae.innerHTML=Un,mt=n(),l(oe.$$.fragment),gt=n(),w=i("div"),l(ie.$$.fragment),Rt=n(),Fe=i("p"),Fe.innerHTML=Jn,Wt=n(),Ie=i("p"),Ie.innerHTML=Nn,St=n(),Ee=i("p"),Ee.innerHTML=Gn,Xt=n(),A=i("div"),l(se.$$.fragment),Yt=n(),He=i("p"),He.innerHTML=jn,Ot=n(),F=i("div"),l(re.$$.fragment),Kt=n(),Ve=i("p"),Ve.textContent=Zn,en=n(),I=i("div"),l(ae.$$.fragment),tn=n(),Ue=i("p"),Ue.innerHTML=Rn,nn=n(),E=i("div"),l(de.$$.fragment),on=n(),Je=i("p"),Je.textContent=Wn,ht=n(),l(le.$$.fragment),_t=n(),B=i("div"),l(ue.$$.fragment),sn=n(),Ne=i("p"),Ne.textContent=Sn,bt=n(),l(fe.$$.fragment),vt=n(),T=i("div"),l(ce.$$.fragment),rn=n(),Ge=i("p"),Ge.innerHTML=Xn,an=n(),je=i("p"),je.innerHTML=Yn,dn=n(),H=i("div"),l(pe.$$.fragment),ln=n(),Ze=i("p"),Ze.textContent=On,yt=n(),l(me.$$.fragment),$t=n(),D=i("div"),l(ge.$$.fragment),un=n(),Re=i("p"),Re.textContent=Kn,fn=n(),l(V.$$.fragment),wt=n(),l(he.$$.fragment),zt=n(),d=i("div"),l(_e.$$.fragment),cn=n(),We=i("p"),We.textContent=eo,pn=n(),Se=i("p"),Se.innerHTML=to,mn=n(),U=i("div"),l(be.$$.fragment),gn=n(),Xe=i("p"),Xe.textContent=no,hn=n(),J=i("div"),l(ve.$$.fragment),_n=n(),Ye=i("p"),Ye.innerHTML=oo,bn=n(),N=i("div"),l(ye.$$.fragment),vn=n(),Oe=i("p"),Oe.textContent=io,yn=n(),G=i("div"),l($e.$$.fragment),$n=n(),Ke=i("p"),Ke.textContent=so,wn=n(),j=i("div"),l(we.$$.fragment),zn=n(),et=i("p"),et.textContent=ro,qn=n(),Z=i("div"),l(ze.$$.fragment),xn=n(),tt=i("p"),tt.textContent=ao,Cn=n(),R=i("div"),l(qe.$$.fragment),Tn=n(),nt=i("p"),nt.innerHTML=lo,kn=n(),W=i("div"),l(xe.$$.fragment),Mn=n(),ot=i("p"),ot.innerHTML=uo,Dn=n(),S=i("div"),l(Ce.$$.fragment),Ln=n(),it=i("p"),it.innerHTML=fo,Qn=n(),X=i("div"),l(Te.$$.fragment),Bn=n(),st=i("p"),st.innerHTML=co,Pn=n(),Y=i("div"),l(ke.$$.fragment),An=n(),rt=i("p"),rt.innerHTML=po,Fn=n(),O=i("div"),l(Me.$$.fragment),In=n(),at=i("p"),at.textContent=mo,En=n(),K=i("div"),l(De.$$.fragment),Hn=n(),dt=i("p"),dt.innerHTML=go,qt=n(),l(Le.$$.fragment),xt=n(),ut=i("p"),this.h()},l(e){const a=$o("svelte-u9bgzb",document.head);y=s(a,"META",{name:!0,content:!0}),a.forEach(r),L=o(e),x=s(e,"P",{}),b(x).forEach(r),C=o(e),u(k.$$.fragment,e),z=o(e),M=s(e,"P",{"data-svelte-h":!0}),h(M)!=="svelte-1balldr"&&(M.textContent=Vn),ft=o(e),u(P.$$.fragment,e),ct=o(e),u(te.$$.fragment,e),pt=o(e),Q=s(e,"DIV",{class:!0});var Qe=b(Q);u(ne.$$.fragment,Qe),Zt=o(Qe),Ae=s(Qe,"P",{"data-svelte-h":!0}),h(Ae)!=="svelte-14g5wdw"&&(Ae.innerHTML=Un),Qe.forEach(r),mt=o(e),u(oe.$$.fragment,e),gt=o(e),w=s(e,"DIV",{class:!0});var q=b(w);u(ie.$$.fragment,q),Rt=o(q),Fe=s(q,"P",{"data-svelte-h":!0}),h(Fe)!=="svelte-woamwr"&&(Fe.innerHTML=Jn),Wt=o(q),Ie=s(q,"P",{"data-svelte-h":!0}),h(Ie)!=="svelte-izpi0w"&&(Ie.innerHTML=Nn),St=o(q),Ee=s(q,"P",{"data-svelte-h":!0}),h(Ee)!=="svelte-8qsk2q"&&(Ee.innerHTML=Gn),Xt=o(q),A=s(q,"DIV",{class:!0});var Tt=b(A);u(se.$$.fragment,Tt),Yt=o(Tt),He=s(Tt,"P",{"data-svelte-h":!0}),h(He)!=="svelte-10tvzyv"&&(He.innerHTML=jn),Tt.forEach(r),Ot=o(q),F=s(q,"DIV",{class:!0});var kt=b(F);u(re.$$.fragment,kt),Kt=o(kt),Ve=s(kt,"P",{"data-svelte-h":!0}),h(Ve)!=="svelte-gy26u4"&&(Ve.textContent=Zn),kt.forEach(r),en=o(q),I=s(q,"DIV",{class:!0});var Mt=b(I);u(ae.$$.fragment,Mt),tn=o(Mt),Ue=s(Mt,"P",{"data-svelte-h":!0}),h(Ue)!=="svelte-19bn0da"&&(Ue.innerHTML=Rn),Mt.forEach(r),nn=o(q),E=s(q,"DIV",{class:!0});var Dt=b(E);u(de.$$.fragment,Dt),on=o(Dt),Je=s(Dt,"P",{"data-svelte-h":!0}),h(Je)!=="svelte-1p6bdas"&&(Je.textContent=Wn),Dt.forEach(r),q.forEach(r),ht=o(e),u(le.$$.fragment,e),_t=o(e),B=s(e,"DIV",{class:!0});var Lt=b(B);u(ue.$$.fragment,Lt),sn=o(Lt),Ne=s(Lt,"P",{"data-svelte-h":!0}),h(Ne)!=="svelte-1r606z3"&&(Ne.textContent=Sn),Lt.forEach(r),bt=o(e),u(fe.$$.fragment,e),vt=o(e),T=s(e,"DIV",{class:!0});var ee=b(T);u(ce.$$.fragment,ee),rn=o(ee),Ge=s(ee,"P",{"data-svelte-h":!0}),h(Ge)!=="svelte-b8v0f"&&(Ge.innerHTML=Xn),an=o(ee),je=s(ee,"P",{"data-svelte-h":!0}),h(je)!=="svelte-7hlgr"&&(je.innerHTML=Yn),dn=o(ee),H=s(ee,"DIV",{class:!0});var Qt=b(H);u(pe.$$.fragment,Qt),ln=o(Qt),Ze=s(Qt,"P",{"data-svelte-h":!0}),h(Ze)!=="svelte-1ozftb6"&&(Ze.textContent=On),Qt.forEach(r),ee.forEach(r),yt=o(e),u(me.$$.fragment,e),$t=o(e),D=s(e,"DIV",{class:!0});var lt=b(D);u(ge.$$.fragment,lt),un=o(lt),Re=s(lt,"P",{"data-svelte-h":!0}),h(Re)!=="svelte-1pwo8e0"&&(Re.textContent=Kn),fn=o(lt),u(V.$$.fragment,lt),lt.forEach(r),wt=o(e),u(he.$$.fragment,e),zt=o(e),d=s(e,"DIV",{class:!0});var g=b(d);u(_e.$$.fragment,g),cn=o(g),We=s(g,"P",{"data-svelte-h":!0}),h(We)!=="svelte-n1gm3c"&&(We.textContent=eo),pn=o(g),Se=s(g,"P",{"data-svelte-h":!0}),h(Se)!=="svelte-1fnduym"&&(Se.innerHTML=to),mn=o(g),U=s(g,"DIV",{class:!0});var Bt=b(U);u(be.$$.fragment,Bt),gn=o(Bt),Xe=s(Bt,"P",{"data-svelte-h":!0}),h(Xe)!=="svelte-1d4i4z7"&&(Xe.textContent=no),Bt.forEach(r),hn=o(g),J=s(g,"DIV",{class:!0});var Pt=b(J);u(ve.$$.fragment,Pt),_n=o(Pt),Ye=s(Pt,"P",{"data-svelte-h":!0}),h(Ye)!=="svelte-eyxa3y"&&(Ye.innerHTML=oo),Pt.forEach(r),bn=o(g),N=s(g,"DIV",{class:!0});var At=b(N);u(ye.$$.fragment,At),vn=o(At),Oe=s(At,"P",{"data-svelte-h":!0}),h(Oe)!=="svelte-y0lxmf"&&(Oe.textContent=io),At.forEach(r),yn=o(g),G=s(g,"DIV",{class:!0});var Ft=b(G);u($e.$$.fragment,Ft),$n=o(Ft),Ke=s(Ft,"P",{"data-svelte-h":!0}),h(Ke)!=="svelte-1170ss6"&&(Ke.textContent=so),Ft.forEach(r),wn=o(g),j=s(g,"DIV",{class:!0});var It=b(j);u(we.$$.fragment,It),zn=o(It),et=s(It,"P",{"data-svelte-h":!0}),h(et)!=="svelte-odkanz"&&(et.textContent=ro),It.forEach(r),qn=o(g),Z=s(g,"DIV",{class:!0});var Et=b(Z);u(ze.$$.fragment,Et),xn=o(Et),tt=s(Et,"P",{"data-svelte-h":!0}),h(tt)!=="svelte-upajm7"&&(tt.textContent=ao),Et.forEach(r),Cn=o(g),R=s(g,"DIV",{class:!0});var Ht=b(R);u(qe.$$.fragment,Ht),Tn=o(Ht),nt=s(Ht,"P",{"data-svelte-h":!0}),h(nt)!=="svelte-1cb2fzf"&&(nt.innerHTML=lo),Ht.forEach(r),kn=o(g),W=s(g,"DIV",{class:!0});var Vt=b(W);u(xe.$$.fragment,Vt),Mn=o(Vt),ot=s(Vt,"P",{"data-svelte-h":!0}),h(ot)!=="svelte-6rgq61"&&(ot.innerHTML=uo),Vt.forEach(r),Dn=o(g),S=s(g,"DIV",{class:!0});var Ut=b(S);u(Ce.$$.fragment,Ut),Ln=o(Ut),it=s(Ut,"P",{"data-svelte-h":!0}),h(it)!=="svelte-wiwxpv"&&(it.innerHTML=fo),Ut.forEach(r),Qn=o(g),X=s(g,"DIV",{class:!0});var Jt=b(X);u(Te.$$.fragment,Jt),Bn=o(Jt),st=s(Jt,"P",{"data-svelte-h":!0}),h(st)!=="svelte-5g503h"&&(st.innerHTML=co),Jt.forEach(r),Pn=o(g),Y=s(g,"DIV",{class:!0});var Nt=b(Y);u(ke.$$.fragment,Nt),An=o(Nt),rt=s(Nt,"P",{"data-svelte-h":!0}),h(rt)!=="svelte-13hqoy0"&&(rt.innerHTML=po),Nt.forEach(r),Fn=o(g),O=s(g,"DIV",{class:!0});var Gt=b(O);u(Me.$$.fragment,Gt),In=o(Gt),at=s(Gt,"P",{"data-svelte-h":!0}),h(at)!=="svelte-udr2k7"&&(at.textContent=mo),Gt.forEach(r),En=o(g),K=s(g,"DIV",{class:!0});var jt=b(K);u(De.$$.fragment,jt),Hn=o(jt),dt=s(jt,"P",{"data-svelte-h":!0}),h(dt)!=="svelte-1ra2q1u"&&(dt.innerHTML=go),jt.forEach(r),g.forEach(r),qt=o(e),u(Le.$$.fragment,e),xt=o(e),ut=s(e,"P",{}),b(ut).forEach(r),this.h()},h(){v(y,"name","hf:doc:metadata"),v(y,"content",Mo),v(Q,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(A,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(F,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(I,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(E,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(w,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(B,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(H,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(T,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(D,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(U,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(J,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(N,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(G,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(j,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(Z,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(R,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(W,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(S,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(X,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(Y,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(O,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(K,"class","docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8"),v(d,"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,a){t(document.head,y),_(e,L,a),_(e,x,a),_(e,C,a),f(k,e,a),_(e,z,a),_(e,M,a),_(e,ft,a),f(P,e,a),_(e,ct,a),f(te,e,a),_(e,pt,a),_(e,Q,a),f(ne,Q,null),t(Q,Zt),t(Q,Ae),_(e,mt,a),f(oe,e,a),_(e,gt,a),_(e,w,a),f(ie,w,null),t(w,Rt),t(w,Fe),t(w,Wt),t(w,Ie),t(w,St),t(w,Ee),t(w,Xt),t(w,A),f(se,A,null),t(A,Yt),t(A,He),t(w,Ot),t(w,F),f(re,F,null),t(F,Kt),t(F,Ve),t(w,en),t(w,I),f(ae,I,null),t(I,tn),t(I,Ue),t(w,nn),t(w,E),f(de,E,null),t(E,on),t(E,Je),_(e,ht,a),f(le,e,a),_(e,_t,a),_(e,B,a),f(ue,B,null),t(B,sn),t(B,Ne),_(e,bt,a),f(fe,e,a),_(e,vt,a),_(e,T,a),f(ce,T,null),t(T,rn),t(T,Ge),t(T,an),t(T,je),t(T,dn),t(T,H),f(pe,H,null),t(H,ln),t(H,Ze),_(e,yt,a),f(me,e,a),_(e,$t,a),_(e,D,a),f(ge,D,null),t(D,un),t(D,Re),t(D,fn),f(V,D,null),_(e,wt,a),f(he,e,a),_(e,zt,a),_(e,d,a),f(_e,d,null),t(d,cn),t(d,We),t(d,pn),t(d,Se),t(d,mn),t(d,U),f(be,U,null),t(U,gn),t(U,Xe),t(d,hn),t(d,J),f(ve,J,null),t(J,_n),t(J,Ye),t(d,bn),t(d,N),f(ye,N,null),t(N,vn),t(N,Oe),t(d,yn),t(d,G),f($e,G,null),t(G,$n),t(G,Ke),t(d,wn),t(d,j),f(we,j,null),t(j,zn),t(j,et),t(d,qn),t(d,Z),f(ze,Z,null),t(Z,xn),t(Z,tt),t(d,Cn),t(d,R),f(qe,R,null),t(R,Tn),t(R,nt),t(d,kn),t(d,W),f(xe,W,null),t(W,Mn),t(W,ot),t(d,Dn),t(d,S),f(Ce,S,null),t(S,Ln),t(S,it),t(d,Qn),t(d,X),f(Te,X,null),t(X,Bn),t(X,st),t(d,Pn),t(d,Y),f(ke,Y,null),t(Y,An),t(Y,rt),t(d,Fn),t(d,O),f(Me,O,null),t(O,In),t(O,at),t(d,En),t(d,K),f(De,K,null),t(K,Hn),t(K,dt),_(e,qt,a),f(Le,e,a),_(e,xt,a),_(e,ut,a),Ct=!0},p(e,[a]){const Qe={};a&2&&(Qe.$$scope={dirty:a,ctx:e}),P.$set(Qe);const q={};a&2&&(q.$$scope={dirty:a,ctx:e}),V.$set(q)},i(e){Ct||(c(k.$$.fragment,e),c(P.$$.fragment,e),c(te.$$.fragment,e),c(ne.$$.fragment,e),c(oe.$$.fragment,e),c(ie.$$.fragment,e),c(se.$$.fragment,e),c(re.$$.fragment,e),c(ae.$$.fragment,e),c(de.$$.fragment,e),c(le.$$.fragment,e),c(ue.$$.fragment,e),c(fe.$$.fragment,e),c(ce.$$.fragment,e),c(pe.$$.fragment,e),c(me.$$.fragment,e),c(ge.$$.fragment,e),c(V.$$.fragment,e),c(he.$$.fragment,e),c(_e.$$.fragment,e),c(be.$$.fragment,e),c(ve.$$.fragment,e),c(ye.$$.fragment,e),c($e.$$.fragment,e),c(we.$$.fragment,e),c(ze.$$.fragment,e),c(qe.$$.fragment,e),c(xe.$$.fragment,e),c(Ce.$$.fragment,e),c(Te.$$.fragment,e),c(ke.$$.fragment,e),c(Me.$$.fragment,e),c(De.$$.fragment,e),c(Le.$$.fragment,e),Ct=!0)},o(e){p(k.$$.fragment,e),p(P.$$.fragment,e),p(te.$$.fragment,e),p(ne.$$.fragment,e),p(oe.$$.fragment,e),p(ie.$$.fragment,e),p(se.$$.fragment,e),p(re.$$.fragment,e),p(ae.$$.fragment,e),p(de.$$.fragment,e),p(le.$$.fragment,e),p(ue.$$.fragment,e),p(fe.$$.fragment,e),p(ce.$$.fragment,e),p(pe.$$.fragment,e),p(me.$$.fragment,e),p(ge.$$.fragment,e),p(V.$$.fragment,e),p(he.$$.fragment,e),p(_e.$$.fragment,e),p(be.$$.fragment,e),p(ve.$$.fragment,e),p(ye.$$.fragment,e),p($e.$$.fragment,e),p(we.$$.fragment,e),p(ze.$$.fragment,e),p(qe.$$.fragment,e),p(xe.$$.fragment,e),p(Ce.$$.fragment,e),p(Te.$$.fragment,e),p(ke.$$.fragment,e),p(Me.$$.fragment,e),p(De.$$.fragment,e),p(Le.$$.fragment,e),Ct=!1},d(e){e&&(r(L),r(x),r(C),r(z),r(M),r(ft),r(ct),r(pt),r(Q),r(mt),r(gt),r(w),r(ht),r(_t),r(B),r(bt),r(vt),r(T),r(yt),r($t),r(D),r(wt),r(zt),r(d),r(qt),r(xt),r(ut)),r(y),m(k,e),m(P,e),m(te,e),m(ne),m(oe,e),m(ie),m(se),m(re),m(ae),m(de),m(le,e),m(ue),m(fe,e),m(ce),m(pe),m(me,e),m(ge),m(V),m(he,e),m(_e),m(be),m(ve),m(ye),m($e),m(we),m(ze),m(qe),m(xe),m(Ce),m(Te),m(ke),m(Me),m(De),m(Le,e)}}}const Mo='{"title":"Quantization","local":"quantization","sections":[{"title":"PipelineQuantizationConfig","local":"diffusers.PipelineQuantizationConfig","sections":[],"depth":2},{"title":"BitsAndBytesConfig","local":"diffusers.BitsAndBytesConfig","sections":[],"depth":2},{"title":"GGUFQuantizationConfig","local":"diffusers.GGUFQuantizationConfig","sections":[],"depth":2},{"title":"QuantoConfig","local":"diffusers.QuantoConfig","sections":[],"depth":2},{"title":"TorchAoConfig","local":"diffusers.TorchAoConfig","sections":[],"depth":2},{"title":"DiffusersQuantizer","local":"diffusers.DiffusersQuantizer","sections":[],"depth":2}],"depth":1}';function Do(Pe){return bo(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Eo extends vo{constructor(y){super(),yo(this,y,Do,ko,_o,{})}}export{Eo as component}; | |
Xet Storage Details
- Size:
- 43 kB
- Xet hash:
- 141bef44f5a4d10b44591a3de2502b953efa82ae89b12e198320dfb76d339989
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.