Buckets:
التكميم
تُقلّل تقنيات التكميم من تكاليف الذاكرة والحساب من خلال تمثيل الأوزان والتفعيلات بأنواع بيانات ذات دقة أقل، مثل الأعداد الصحيحة الثمانية البتات (int8). وهذا يتيح تحميل نماذج أكبر لا يمكن عادةً استيعابها في الذاكرة، وتسريع الاستدلال.
تعلّم كيفية تكميم النماذج في دليل Quantization.
PipelineQuantizationConfig[[diffusers.PipelineQuantizationConfig]]
diffusers.PipelineQuantizationConfig[[diffusers.PipelineQuantizationConfig]]
diffusers.PipelineQuantizationConfig(quant_backend: str = None, quant_kwargs: dict[str, str | float | int | dict] = None, components_to_quantize: list[str] | str | None = None, quant_mapping: dict[str, DiffQuantConfigMixin | 'TransformersQuantConfigMixin'] = None)
المعاملات:
quant_backend (str) : واجهة الكمية (Quantization backend) التي سيتم استخدامها. عند استخدام هذا الخيار، نفترض أن الواجهة متاحة لكل من diffusers وtransformers.
quant_kwargs (dict) : المعاملات اللازمة لتصفية فئة واجهة الخلفية (backend) للكمّية.
components_to_quantize (list) : مكونات خط الأنابيب الذي سيتم تكميمه.
quant_mapping (dict) : تعيين يحدد مواصفات التكميم (quantization) التي سيتم استخدامها لمكونات خط المعالجة. عند استخدام هذا الحُجج، لا يُتوقع من المستخدمين تقديم quant_backend، وquant_kawargs، وcomponents_to_quantize.
فئة التكوين المستخدمة عند تطبيق التكميم أثناء التشغيل على from_pretrained().
BFLQuantizationConfig[[diffusers.BFLQuantizationConfig]]
diffusers.BFLQuantizationConfig[[diffusers.BFLQuantizationConfig]]
diffusers.BFLQuantizationConfig(compute_dtype: 'torch.dtype' | None = None)
المعاملات:
compute_dtype (torch.dtype، الافتراضي هو torch.bfloat16) : نوع البيانات (dtype) للتفعيلات وللطبقات غير المُكمّاة. الأجهزة التي لا تحتوي على نواة FP8 أو NVFP4 مدمجة تقوم بإلغاء تكميم الأوزان إلى هذا النوع من البيانات في كل تمريرة أمامية.
إعدادات لتحميل نقاط التفتيش المُكمّمة باستخدام مخططي fp8r وnvfp4 من Black Forest Labs.
تُقرأ كلا المخططين من نقطة الحفظ عبر ~FromSingleFileMixin.from_single_file؛ ولا يُدعم تكميم النموذج أثناء التشغيل. يتم تكميم طبقة خطية عندما يأتي وزنها مع مصفوفات مقياس:
fp8r:weightهوfloat8_e4m3fnبالشكل[N, K]وweight_scaleهو مقياس fp32 لكل صف[N].nvfp4:weightهوuint8بشكل[N, K/2](قيمتان E2M1 لكل بايت)، وweight_scaleهو مقياس كتلةfloat8_e4m3fnبشكل[N, K/16]، بينماweight_scale_2وinput_scaleهما قيمتان قياسية fp32 تحملان مقياس الأوزان العام ومقياس التنشيط المُعايَر (تخطيط ModelOpt NVFP4).
BitsAndBytesConfig[[diffusers.BitsAndBytesConfig]]
diffusers.BitsAndBytesConfig[[diffusers.BitsAndBytesConfig]]
diffusers.BitsAndBytesConfig(load_in_8bit = False, load_in_4bit = False, llm_int8_threshold = 6.0, llm_int8_skip_modules = None, llm_int8_enable_fp32_cpu_offload = False, llm_int8_has_fp16_weight = False, bnb_4bit_compute_dtype = None, bnb_4bit_quant_type = 'fp4', bnb_4bit_use_double_quant = False, bnb_4bit_quant_storage = None, **kwargs)
المعاملات:
load_in_8bit (bool، اختياري، القيمة الافتراضية False) : يُستخدم هذا العلم لتفعيل التكميم 8-بت باستخدام LLM.int8().
load_in_4bit (bool، اختياري، القيمة الافتراضية False) : يُستخدم هذا العلم لتفعيل التكميم 4-بت عن طريق استبدال طبقات Linear بطبقات FP4/NF4 من bitsandbytes.
llm_int8_threshold (float، اختياري، القيمة الافتراضية 6.0) : يتوافق هذا مع عتبة القيم الشاذة لكشف القيم الشاذة كما هو موصوف في ورقة LLM.int8() : 8-bit Matrix Multiplication for Transformers at Scale: https://huggingface.co/papers/2208.07339 أي قيمة لحالة خفية تتجاوز هذه العتبة ستُعتبر قيمة شاذة، وسيتم تنفيذ العملية على تلك القيم باستخدام fp16. عادةً ما تكون القيم موزعة بشكل طبيعي، أي أن معظمها يقع في النطاق [-3.5، 3.5]، لكن هناك بعض القيم الشاذة المنهجية الاستثنائية التي تكون موزعة بشكل مختلف تمامًا في النماذج الكبيرة. غالبًا ما تقع هذه القيم الشاذة في الفترة [-60، -6] أو [6، 60]. يعمل تكميم Int8 بشكل جيد للقيم ذات المقدار ~5، لكن ما يتجاوز ذلك، هناك عقوبة أداء كبيرة. عتبة افتراضية جيدة هي 6، لكن قد تكون هناك حاجة إلى عتبة أقل للنماذج الأقل استقرارًا (النماذج الصغيرة، الضبط الدقيق).
llm_int8_skip_modules (list[str]، اختياري) : قائمة صريحة بالوحدات التي لا نرغب في تحويلها إلى 8 بت. هذا مفيد للنماذج مثل Jukebox التي تحتوي على عدة رؤوس في مواقع مختلفة وليس بالضرورة في الموقع الأخير. على سبيل المثال، في نماذج CausalLM، يُحافظ عادةً على lm_head الأخير في dtype الأصلي الخاص به.
llm_int8_enable_fp32_cpu_offload (bool، اختياري، القيمة الافتراضية False) : يُستخدم هذا العلم لحالات الاستخدام المتقدمة وللمستخدمين الذين على دراية بهذه الميزة. إذا كنت ترغب في تقسيم نموذجك إلى أجزاء مختلفة وتشغيل بعض الأجزاء بدقة int8 على وحدة معالجة الرسوميات GPU وبعض الأجزاء بدقة fp32 على وحدة المعالجة المركزية CPU، يمكنك استخدام هذا العلم. وهذا مفيد لتحميل النماذج الكبيرة مثل google/flan-t5-xxl. لاحظ أن عمليات int8 لن تُنفَّذ على وحدة المعالجة المركزية CPU.
llm_int8_has_fp16_weight (bool، اختياري، القيمة الافتراضية False) : يعمل هذا العلم على تشغيل LLM.int8() مع أوزان رئيسية بدقة 16 بت. وهذا مفيد للضبط الدقيق (fine-tuning) حيث لا حاجة لتحويل الأوزان ذهابًا وإيابًا من أجل المرور العكسي (backward pass).
bnb_4bit_compute_dtype (torch.dtype أو str، اختياري، الافتراضي torch.float32) : يحدد هذا نوع الحساب الذي قد يختلف عن نوع الإدخال. على سبيل المثال، قد تكون المدخلات من نوع fp32، لكن يمكن ضبط الحساب على bf16 لتحقيق تسريع.
bnb_4bit_quant_type (str، اختياري، القيمة الافتراضية "fp4") : يحدد هذا نوع بيانات التكميم في طبقات bnb.nn.Linear4Bit. الخيارات هي أنواع بيانات FP4 وNF4 التي تُحدد بواسطة fp4 أو nf4.
bnb_4bit_use_double_quant (bool، اختياري، القيمة الافتراضية False) : يُستخدم هذا العلم للتكميم المتداخل، حيث يتم تكميم ثوابت التكميم من التكميم الأول مرة أخرى.
bnb_4bit_quant_storage (torch.dtype أو str، اختياري، الافتراضي torch.uint8) : يحدد نوع التخزين لتعبئة المعاملات الكمّية ذات 4 بت.
kwargs (dict[str, Any]، اختياري) : معلمات إضافية يتم من خلالها تهيئة كائن الإعدادات.
هذه فئة غلاف (wrapper class) تجمع جميع الخصائص والميزات الممكنة التي يمكنك التعامل معها في نموذج تم تحميله باستخدام bitsandbytes.
يستبدل هذا الخيار load_in_8bit أو load_in_4bit وبالتالي فإن كلا الخيارين متنافيان.
يدعم حاليًا LLM.int8()، FP4، وNF4 فقط. إذا أُضيفت طرق أخرى إلى bitsandbytes، فسيتم إضافة حُجج إضافية إلى هذه الفئة.
is_quantizable[[diffusers.BitsAndBytesConfig.is_quantizable]]
is_quantizable()
يعيد True إذا كان النموذج قابلًا للكمّية، وإلا يعيد False.
post_init[[diffusers.BitsAndBytesConfig.post_init]]
post_init()
فاحص الأمان الذي يتحقق من صحة الحُجج - كما يستبدل بعض حُجج نوع NoneType بقيمها الافتراضية.
quantization_method[[diffusers.BitsAndBytesConfig.quantization_method]]
quantization_method()
تعيد هذه الطريقة طريقة التكميم المستخدمة للنموذج. إذا لم يكن النموذج قابلاً للتكميم، فإنها تعيد None.
to_diff_dict[[diffusers.BitsAndBytesConfig.to_diff_dict]]
to_diff_dict()
يعيد: dict[str, Any]
قاموس بجميع السمات التي تُشكّل هذا المثال من التهيئة،
يزيل جميع الخصائص من config التي تتوافق مع خصائص الإعداد الافتراضي لتحسين قابلية القراءة، ثم يُسلسلها إلى قاموس Python.
GGUFQuantizationConfig[[diffusers.GGUFQuantizationConfig]]
diffusers.GGUFQuantizationConfig[[diffusers.GGUFQuantizationConfig]]
diffusers.GGUFQuantizationConfig(compute_dtype: 'torch.dtype' | None = None)
المعاملات:
compute_dtype : (torch.dtype، الافتراضي هو torch.float32): يحدد هذا نوع الحساب، والذي قد يختلف عن نوع الإدخال. على سبيل المثال، قد تكون المدخلات من نوع fp32، لكن يمكن ضبط الحساب على bf16 لتحقيق تسريع.
هذا هو فئة إعدادات لتقنيات تكميم GGUF.
NunchakuLiteQuantizationConfig[[diffusers.NunchakuLiteQuantizationConfig]]
diffusers.NunchakuLiteQuantizationConfig[[diffusers.NunchakuLiteQuantizationConfig]]
diffusers.NunchakuLiteQuantizationConfig(compute_dtype: 'torch.dtype' | str | None = None, svdq_w4a4: dict[str, Any] | None = None, awq_w4a16: dict[str, Any] | None = None, **kwargs)
المعاملات:
compute_dtype (torch.dtype، الافتراضي هو torch.bfloat16) : نوع البيانات (dtype) المستخدم وقت التشغيل في المخازن المؤقتة ذات الفاصلة العائمة داخل الوحدات المُكمّمة.
svdq_w4a4 (dict, اختياري) : تكوين SVDQ W4A4 المستهدف الصريح مع precision وgroup_size وrank وtargets.
awq_w4a16 (dict، اختياري) : إعدادات AWQ W4A16 المستهدفة الصريحة مع precision وgroup_size وtargets.
إعدادات لتحميل نقاط التفتيش الخاصة بـ Nunchaku Lite.
يدعم Nunchaku Lite في Diffusers تحميل نقاط التفتيش المُكمّاة مسبقًا. لإنشاء نقطة تفتيش متوافقة، استخدم diffuse-compressor لاختيار أو تكييف إعداد مستهدف لبنية النموذج، ثم قم بتكميم المُحوِّل وتصديره، وجمّعه كخط أنابيب Diffusers مع تخزين quantization_config المدمج في config.json.
يجب أن يطابق state dict المُصدَّر بنية نموذج Diffusers المستهدف تمامًا. لن يتم تحميل نقاط التفتيش المُكمَّاة باستخدام إسقاطات QKV المدمجة في إعدادات نموذج يتوقع وحدات إسقاط منفصلة لكل من Q وK وV.
مثال على إعداد config.json مضغوط:
{
"_class_name": "ErnieImageTransformer2DModel",
"quantization_config": {
"quant_method": "nunchaku_lite",
"compute_dtype": "bfloat16",
"svdq_w4a4": {
"precision": "nvfp4",
"group_size": 16,
"rank": 32,
"targets": ["layers.0.self_attention.to_q"]
},
"awq_w4a16": {
"precision": "int4",
"group_size": 64,
"targets": ["final_linear"]
}
}
}
QuantoConfig[[diffusers.QuantoConfig]]
diffusers.QuantoConfig[[diffusers.QuantoConfig]]
diffusers.QuantoConfig(weights_dtype: str = 'int8', modules_to_not_convert: list[str] | None = None, **kwargs)
المعاملات:
weights_dtype (str، اختياري، القيمة الافتراضية "int8") : نوع البيانات المستهدف للأوزان بعد التكميم. القيم المدعومة هي ("float8","int8","int4","int2")
هذه فئة غلاف (wrapper class) تجمع جميع الخصائص والميزات الممكنة التي يمكنك التعامل معها في نموذج تم تحميله باستخدام quanto.
QuantoConfig لم يعد مدعومًا وسيتم إزالته في الإصدار 1.0.0. يُنصح بالانتقال إلى أحد محركات الكمّية الأخرى المدعومة، مثل BitsAndBytesConfig أو TorchAoConfig.
modules_to_not_convert (list، اختياري، القيمة الافتراضية None): قائمة الوحدات التي يجب عدم تكميمها، وهو مفيد لتكميم النماذج التي تتطلب صراحةً إبقاء بعض الوحدات في دقتها الأصلية (مثل مشفّر Whisper، ومشفّر Llava، وطبقات بوابة Mixtral).
post_init[[diffusers.QuantoConfig.post_init]]
post_init()
فاحص الأمان الذي يتحقق من صحة الحُجج
SDNQConfig[[diffusers.SDNQConfig]]
diffusers.SDNQConfig[[diffusers.SDNQConfig]]
diffusers.SDNQConfig(*args, **kwargs)
المعاملات:
weights_dtype (str، اختياري، القيمة الافتراضية "int8") : نوع البيانات المستهدف للأوزان بعد التكميم، مثل "int8"، "uint4"، "float8_e4m3fn". راجع sdnq.common.accepted_weight_dtypes لجميع القيم المدعومة.
group_size (int، اختياري، القيمة الافتراضية 0) : عدد عناصر الموتر (Tensor) التي تشترك في نفس مجموعة التكميم. يقوم 0 باختيار تلقائي بناءً على weights_dtype، بينما يعطّل -1 التجميع ويستخدم التكميم على مستوى الصفوف.
use_svd (bool، اختياري، الافتراضي False) : ما إذا كان سيتم تطبيق خوارزمية SVDQuant فوق تكميم SDNQ.
use_quantized_matmul (bool، اختياري، الافتراضي False) : ما إذا كان سيتم استخدام ضرب المصفوفات الكمي INT8 / FP8 / FP16 في المرور الأمامي بدلاً من BF16 / FP16.
modules_to_not_convert (list، اختياري، القيمة الافتراضية None) : قائمة الوحدات التي يجب تجاوزها أثناء التكميم.
kwargs (dict[str, Any]، اختياري) : حُجج إضافية تُمرَّر إلى sdnq.SDNQConfig (مثل quantized_matmul_dtype، svd_rank، use_hadamard، quant_conv، quant_embedding، modules_dtype_dict).
فئة التهيئة لـ SDNQ (SD.Next Quantization).
تأتي مكتبة sdnq مع إعدادات ومكمِّم متوافقين مع diffusers؛ هذه الفئة هي مصنع رفيع يحوّل المهام إليهما بحيث تُحمَّل نقاط التفتيش التي تحتوي على quant_method="sdnq" بشكل أصلي مع diffusers. يتم تمرير جميع الحُجج إلى sdnq.SDNQConfig. تتطلب هذه العملية مكتبة sdnq: pip install sdnq.
مرجع: https://github.com/Disty0/sdnq
TorchAoConfig[[diffusers.TorchAoConfig]]
diffusers.TorchAoConfig[[diffusers.TorchAoConfig]]
diffusers.TorchAoConfig(quant_type: 'AOBaseConfig', modules_to_not_convert: list[str] | None = None, **kwargs)
المعاملات:
quant_type (AOBaseConfig) : نسخة من فئة فرعية من AOBaseConfig تحدد نوع التكميم. راجع توثيق torchao لمعرفة فئات الإعدادات المتاحة (مثل Int4WeightOnlyConfig، Int8WeightOnlyConfig، Float8WeightOnlyConfig، Float8DynamicActivationFloat8WeightConfig، وغيرها).
modules_to_not_convert (list[str]، اختياري، الافتراضي None) : قائمة الوحدات التي يجب عدم تكميمها، وهو مفيد لتكميم النماذج التي تتطلب صراحةً إبقاء بعض الوحدات في دقتها الأصلية.
هذا هو فئة إعدادات لتقنيات الكمّ والتخلخل في torchao.
مثال:
from diffusers import FluxTransformer2DModel, TorchAoConfig
from torchao.quantization import Int8WeightOnlyConfig
quantization_config = TorchAoConfig(Int8WeightOnlyConfig())
transformer = FluxTransformer2DModel.from_pretrained(
"black-forest-labs/Flux.1-Dev",
subfolder="transformer",
quantization_config=quantization_config,
torch_dtype=torch.bfloat16,
)
from_dict[[diffusers.TorchAoConfig.from_dict]]
from_dict(config_dict, return_unused_kwargs = False, **kwargs)
إنشاء تكوين من قاموس.
get_apply_tensor_subclass[[diffusers.TorchAoConfig.get_apply_tensor_subclass]]
get_apply_tensor_subclass()
أنشئ طريقة التكميم المناسبة بناءً على الإعداد.
to_dict[[diffusers.TorchAoConfig.to_dict]]
to_dict()
تحويل الإعدادات إلى قاموس.
DiffusersQuantizer[[diffusers.DiffusersQuantizer]]
diffusers.DiffusersQuantizer[[diffusers.DiffusersQuantizer]]
diffusers.DiffusersQuantizer(quantization_config: QuantizationConfigMixin, **kwargs)
فئة مجردة لمُكمِّم HuggingFace. تدعم حاليًا كمّ نماذج HF diffusers للاستدلال و/أو الكمّ. تُستخدم هذه الفئة فقط في diffusers.models.modeling_utils.ModelMixin.from_pretrained ولا يمكن استخدامها بسهولة خارج نطاق تلك الطريقة بعد.
خصائص quantization_config (diffusers.quantizers.quantization_config.QuantizationConfigMixin): إعدادات التكميم التي تحدد معاملات التكميم لنموذجك الذي تريد تكميمه. modules_to_not_convert (list[str]، اختياري): قائمة بأسماء الوحدات التي يجب عدم تحويلها عند تكميم النموذج. required_packages (list[str]، اختياري): قائمة بحزم pip المطلوبة التي يجب تثبيتها قبل استخدام مُكمِّم requires_calibration (bool): ما إذا كانت طريقة التكميم تتطلب معايرة النموذج قبل استخدامه.
adjust_max_memory[[diffusers.DiffusersQuantizer.adjust_max_memory]]
adjust_max_memory(max_memory: dict[str, int | str])
اضبط معامل max_memory للدالة infer_auto_device_map() إذا كانت هناك حاجة إلى ذاكرة إضافية للكمّ
adjust_target_dtype[[diffusers.DiffusersQuantizer.adjust_target_dtype]]
adjust_target_dtype(torch_dtype: torch.dtype)
المعاملات:
torch_dtype (torch.dtype، اختياري) : نوع torch_dtype المستخدم لحساب device_map.
تجاوز هذه الطريقة إذا كنت ترغب في تعديل متغير target_dtype المستخدم في from_pretrained لحساب device_map في حال كان device_map من نوع str. على سبيل المثال، في حالة bitsandbytes، نُجبر على تعيين target_dtype إلى torch.int8، وفي حالة 4-bit، نمرر enum مخصصًا accelerate.CustomDtype.int4.
check_if_quantized_param[[diffusers.DiffusersQuantizer.check_if_quantized_param]]
check_if_quantized_param(model: ModelMixin, param_value: torch.Tensor, param_name: str, state_dict: dict[str, typing.Any], **kwargs)
يتحقق مما إذا كان مكوّن state_dict المحمّل جزءًا من معامل مُكمَّم + بعض التحقق؛ يُعرَّف فقط لطرق الكمّ التي تتطلب إنشاء معاملات جديدة للكمّ.
check_quantized_param_shape[[diffusers.DiffusersQuantizer.check_quantized_param_shape]]
check_quantized_param_shape(*args, **kwargs)
يتحقق من أن المعامل المُكمَّم له الشكل المتوقع.
create_quantized_param[[diffusers.DiffusersQuantizer.create_quantized_param]]
create_quantized_param(*args, **kwargs)
يستخرج المكونات المطلوبة من state_dict وينشئ معاملًا مُكمَّمًا.
إلغاء التكميم[[diffusers.DiffusersQuantizer.dequantize]]
dequantize(model)
قد يؤدي إلغاء التكميم إلى استعادة النموذج الأصلي، مع بعض الفقدان في الدقة / الأداء. لاحظ أن مخططات التكميم لا تدعم جميعها هذه العملية.
get_cuda_warm_up_factor[[diffusers.DiffusersQuantizer.get_cuda_warm_up_factor]]
get_cuda_warm_up_factor()
العامل الذي يُستخدم في caching_allocator_warmup للحصول على عدد البايتات التي يجب تخصيصها مسبقًا لإحماء cuda. يعني عامل بقيمة 2 تخصيص جميع البايتات في النموذج الفارغ (بما أننا نخصص في fp16)، ويعني عامل بقيمة 4 تخصيص نصف ذاكرة الأوزان الموجودة في النموذج الفارغ، وهكذا...
get_special_dtypes_update[[diffusers.DiffusersQuantizer.get_special_dtypes_update]]
get_special_dtypes_update(model, torch_dtype: torch.dtype)
المعاملات:
model (~diffusers.models.modeling_utils.ModelMixin) : النموذج الذي سيتم تكميمه
torch_dtype (torch.dtype) : نوع البيانات المُمرَّر في طريقة from_pretrained.
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 modules_to_not_convert that is modified in _process_model_before_weight_loading. diffusers models don't have any modules_to_not_convert attributes yet but this can change soon in the future.
postprocess_model[[diffusers.DiffusersQuantizer.postprocess_model]]
postprocess_model(model: ModelMixin, **kwargs)
المعاملات:
model (~diffusers.models.modeling_utils.ModelMixin) : النموذج الذي سيتم تكميمه
kwargs (dict، اختياري) : الحُجج المُسمّاة التي تُمرَّر مع _process_model_after_weight_loading.
قم بمعالجة النموذج بعد تحميل الأوزان. تأكد من تجاوز الطريقة المجردة _process_model_after_weight_loading.
preprocess_model[[diffusers.DiffusersQuantizer.preprocess_model]]
preprocess_model(model: ModelMixin, **kwargs)
المعاملات:
model (~diffusers.models.modeling_utils.ModelMixin) : النموذج الذي سيتم تكميمه
kwargs (dict، اختياري) : الحُجج المُسمّاة التي تُمرَّر مع _process_model_before_weight_loading.
ضبط سمات النموذج و/أو تحويل النموذج قبل تحميل الأوزان. في هذه المرحلة يجب أن يكون النموذج مُهيأً على جهاز meta حتى تتمكن من التلاعب بحُزمة النموذج بحرية من أجل استبدال الوحدات في مكانها. تأكد من تجاوز الطريقة المجردة _process_model_before_weight_loading.
update_device_map[[diffusers.DiffusersQuantizer.update_device_map]]
update_device_map(device_map: dict[str, typing.Any] | None)
المعاملات:
device_map (dict | str، اختياري) : خريطة الأجهزة (device_map) التي يتم تمريرها عبر طريقة from_pretrained.
Override this method if you want to pass a override the existing device map with a new one. E.g. for bitsandbytes, since accelerate is a hard requirement, if no device_map is passed, the device_map is set to `"auto"``
update_missing_keys[[diffusers.DiffusersQuantizer.update_missing_keys]]
update_missing_keys(model, missing_keys: list[str], prefix: str)
المعاملات:
missing_keys (list[str]، اختياري) : قائمة المفاتيح المفقودة في نقطة الحفظ مقارنةً بـ state dict الخاص بالنموذج
استبدل هذه الطريقة إذا كنت ترغب في تعديل missing_keys.
update_torch_dtype[[diffusers.DiffusersQuantizer.update_torch_dtype]]
update_torch_dtype(torch_dtype: torch.dtype)
المعاملات:
torch_dtype (torch.dtype) : نوع البيانات المُدخل الذي يُمرَّر في from_pretrained
تتطلب بعض طرق التكميم ضبط نوع البيانات (dtype) للنموذج بشكل صريح على نوع البيانات المستهدف. يجب عليك تجاوز هذه الطريقة إذا كنت ترغب في التأكد من الحفاظ على هذا السلوك
validate_environment[[diffusers.DiffusersQuantizer.validate_environment]]
validate_environment(*args, **kwargs)
يُستخدم هذا الأسلوب للتحقق من وجود تعارضات محتملة مع الحُجج المُمرَّرة في from_pretrained. يجب عليك تعريفه لجميع مُكمِّسات المستقبل المُدمجة مع diffusers. إذا لم تكن هناك حاجة إلى تحقق صريح، فبمجرد عدم إرجاع أي شيء.
Xet Storage Details
- Size:
- 31.1 kB
- Xet hash:
- c0e550f2a569050ed5b6d06e7951c4a7215b4b5fb2ffd93240e9fc2a36224c6d
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.