Buckets:

mishig's picture
|
download
raw
30 kB

Modeller

🤗 Diffusers, popüler algoritmalar için önceden eğitilmiş modeller ve özel difüzyon sistemleri oluşturmak için modüller sağlar. Modellerin ana işlevi, pθ(xt−1∣xt)p_{\theta}(x_{t-1}|x_{t}) dağılımı tarafından modellenen bir girdi örneğinin gürültüsünü azaltmaktır.

Tüm modeller, yerel olarak ve Hugging Face Hub'dan modellerin kaydedilmesi ve yüklenmesi için temel işlevselliği sağlayan torch.nn.Module olan temel ModelMixin sınıfından oluşturulur.

ModelMixin[[diffusers.ModelMixin]]

diffusers.ModelMixin[[diffusers.ModelMixin]]

diffusers.ModelMixin()

Kaynak

Tüm modellerin temel sınıfı.

ModelMixin, model yapılandırmasının depolanmasından sorumlu olup modelleri yükleme, indirme ve kaydetme yöntemleri sağlar.

  • config_name (str) -- save_pretrained() çağrıldığında bir modelin kaydedileceği dosya adı.

compile_repeated_blocks[[diffusers.ModelMixin.compile_repeated_blocks]]

compile_repeated_blocks(*args, **kwargs)

Kaynak

Bir modelin yalnızca sık tekrarlanan alt modüllerini (ör. Transformer katmanları) derler, tüm modeli derlemez. Bu teknik—genellikle bölgesel derleme olarak adlandırılır (PyTorch tarifi: https://docs.pytorch.org/tutorials/recipes/regional_compilation.html)—tam bir torch.compile'den beklenen çalışma zamanı hızlandırmalarını korurken uçtan uca derleme süresini önemli ölçüde azaltabilir.

Derlenecek alt modüllerin kümesi, model tanımındaki _repeated_blocks özniteliğinin varlığıyla belirlenir. Bu özniteliği, model alt sınıfınızda sınıf adlarının (dizelerin) bir listesi/tuplü olarak tanımlayın. Sınıf adı eşleşen her modül derlenecektir.

Keşfedildikten sonra, her eşleşen alt modül submodule.compile(*args, **kwargs) çağrılarak derlenir. compile_repeated_blocks fonksiyonuna sağladığınız konumsal veya anahtar kelime argümanları, torch.compile fonksiyonuna olduğu gibi aktarılır.

cuda[[diffusers.ModelMixin.cuda]]

cuda(*args, **kwargs)

Noktalı bir yol için sahte bir değer (ör. torch.float32): öznitelik erişim zincirleri, çağrılar geçiş (pass-through) dekoratörleri gibi davranır, repr noktalı yoldur ve bir taban sınıf olarak kullanıldığında düz bir type tabanı yerine geçer (PEP 560 __mro_entries__), böylece gerçek alt sınıflar normal bir meta sınıfı korur ve inspect.signature sahtenin yerine gerçek __init__ değerlerini okur.

dequantize[[diffusers.ModelMixin.dequantize]]

dequantize()

Kaynak

Eğer model, dequantizasyonu destekleyen bir kuantizasyon yöntemiyle kuantize edilmişse, modelin dequantize edilmesini potansiyel olarak gerçekleştirin.

disable_gradient_checkpointing[[diffusers.ModelMixin.disable_gradient_checkpointing]]

disable_gradient_checkpointing()

Kaynak

Mevcut model için gradyan denetleme noktasını devre dışı bırakır (diğer çerçevelerde aktivasyon denetleme noktası veya aktivasyon denetleme noktaları olarak da adlandırılabilir).

disable_npu_flash_attention[[diffusers.ModelMixin.disable_npu_flash_attention]]

disable_npu_flash_attention()

Kaynak

torch_npu'dan npu flash attention'ı devre dışı bırak

disable_xformers_memory_efficient_attention[[diffusers.ModelMixin.disable_xformers_memory_efficient_attention]]

disable_xformers_memory_efficient_attention()

Kaynak

xFormers için bellek verimli dikkati devre dışı bırakın.

disable_xla_flash_attention[[diffusers.ModelMixin.disable_xla_flash_attention]]

disable_xla_flash_attention()

Kaynak

torch_xla için flash attention pallals çekirdeğini devre dışı bırakın.

enable_gradient_checkpointing[[diffusers.ModelMixin.enable_gradient_checkpointing]]

enable_gradient_checkpointing(gradient_checkpointing_func: typing.Optional[typing.Callable] = None)

Kaynak

Parametreler:

gradient_checkpointing_func (Callable, isteğe bağlı) : Gradyan denetleme noktası için kullanılacak işlev. None ise, varsayılan PyTorch denetleme noktası işlevi kullanılır (torch.utils.checkpoint.checkpoint).

Mevcut model için gradyan denetleme noktasını etkinleştirir (diğer çerçevelerde aktivasyon denetleme noktası veya aktivasyon denetleme noktaları olarak da adlandırılabilir).

enable_group_offload[[diffusers.ModelMixin.enable_group_offload]]

enable_group_offload(onload_device: device, offload_device: device = torch.device(), offload_type: str = 'block_level', num_blocks_per_group: int | None = None, non_blocking: bool = False, use_stream: bool = False, record_stream: bool = False, low_cpu_mem_usage = False, offload_to_disk_path: str | None = None, block_modules: str | None = None, exclude_kwargs: str | None = None)

Kaynak

Mevcut model için grup boşaltmayı etkinleştirir.

Daha fazla bilgi için apply_group_offloading() bölümüne bakın.

Örnek:

>>> from diffusers import CogVideoXTransformer3DModel

>>> transformer = CogVideoXTransformer3DModel.from_pretrained(
...     "THUDM/CogVideoX-5b", subfolder="transformer", torch_dtype=torch.bfloat16
... )

>>> transformer.enable_group_offload(
...     onload_device=torch.device("cuda"),
...     offload_device=torch.device("cpu"),
...     offload_type="leaf_level",
...     use_stream=True,
... )

enable_layerwise_casting[[diffusers.ModelMixin.enable_layerwise_casting]]

enable_layerwise_casting(storage_dtype: dtype = torch.float8_e4m3fn, compute_dtype: typing.Optional[torch.dtype] = None, skip_modules_pattern: tuple[str, ...] | None = None, skip_modules_classes: tuple[typing.Type[torch.nn.Module], ...] | None = None, non_blocking: bool = False)

Kaynak

Parametreler:

storage_dtype (torch.dtype) : Modelin depolama için dönüştürülmesi gereken dtype.

compute_dtype (torch.dtype) : İleri geçiş sırasında model ağırlıklarının dönüştürüleceği dtype.

skip_modules_pattern (tuple[str, ...], isteğe bağlı) : Katman bazlı dökümleme işlemi sırasında atlanacak modül adlarını eşleştirmek için desenlerin listesi. None olarak ayarlanırsa, modüllerin ve PEFT katmanlarının belirli iç katmanlarını yok saymak için varsayılan atlama desenleri kullanılır.

skip_modules_classes (tuple[Type[torch.nn.Module], ...], isteğe bağlı) : Katman bazlı dökümleme işlemi sırasında atlanacak modül sınıflarının listesi.

non_blocking (bool, isteğe bağlı, varsayılan False) : True ise, ağırlık dönüştürme işlemleri engellenmez.

Mevcut model için katman bazlı dökümlemeyi etkinleştirir.

Katman bazlı dönüştürme (casting), model ağırlıklarını depolama için daha düşük hassasiyetli bir veri türüne (dtype) dönüştüren, ancak hesaplama sırasında bunları anlık olarak daha yüksek hassasiyetli bir veri türüne yükselten bir tekniktir. Bu işlem, model ağırlıklarından kaynaklanan bellek kullanımını önemli ölçüde azaltabilir, ancak çıktılarda bazı kalite düşüşlerine yol açabilir. Çoğu düşüş ihmal edilebilir düzeydedir ve büyük ölçüde normalizasyon ve modülasyon katmanlarındaki ağırlık dönüştürmesinden kaynaklanır.

Varsayılan olarak, diffusers'taki modellerin çoğu, yama gömme, konumsal gömme ve normalizasyon katmanlarını yok saymak için _skip_layerwise_casting_patterns özniteliğini ayarlar. Bunun nedeni, bu katmanların kalite açısından büyük olasılıkla hassasiyet açısından kritik olmasıdır. Bu davranışı değiştirmek isterseniz, _skip_layerwise_casting_patterns özniteliğini None olarak ayarlayabilir veya apply_layerwise_casting() fonksiyonunu özel argümanlarla çağırabilirsiniz.

Örnek:

enable_layerwise_casting() kullanılarak:

>>> from diffusers import CogVideoXTransformer3DModel

>>> transformer = CogVideoXTransformer3DModel.from_pretrained(
...     "THUDM/CogVideoX-5b", subfolder="transformer", torch_dtype=torch.bfloat16
... )

>>> # Enable layerwise casting via the model, which ignores certain modules by default
>>> transformer.enable_layerwise_casting(storage_dtype=torch.float8_e4m3fn, compute_dtype=torch.bfloat16)

enable_npu_flash_attention[[diffusers.ModelMixin.enable_npu_flash_attention]]

enable_npu_flash_attention()

Kaynak

torch_npu'dan npu flash attention'ı etkinleştirin

enable_xformers_memory_efficient_attention[[diffusers.ModelMixin.enable_xformers_memory_efficient_attention]]

enable_xformers_memory_efficient_attention(attention_op: typing.Optional[typing.Callable] = None)

Kaynak

Parametreler:

attention_op (Callable, isteğe bağlı) : xFormers'in memory_efficient_attention() fonksiyonunda op argümanı olarak kullanılmak üzere varsayılan None operatörünü geçersiz kılar.

xFormers ile bellek verimli dikkati etkinleştirin.

Bu seçenek etkinleştirildiğinde, GPU bellek kullanımının daha düşük olduğunu ve çıkarım sırasında olası bir hızlanma gözlemlemelisiniz. Eğitim sırasında hızlanma garanti edilmez.

> ⚠️ Hem memory efficient attention hem de sliced attention etkinleştirildiğinde, memory efficient attention, > önceliğine sahiptir.

Örnekler:

>>> import torch
>>> from diffusers import UNet2DConditionModel
>>> from xformers.ops import MemoryEfficientAttentionFlashAttentionOp

>>> model = UNet2DConditionModel.from_pretrained(
...     "stabilityai/stable-diffusion-2-1", subfolder="unet", torch_dtype=torch.float16
... )
>>> model = model.to("cuda")
>>> model.enable_xformers_memory_efficient_attention(attention_op=MemoryEfficientAttentionFlashAttentionOp)

enable_xla_flash_attention[[diffusers.ModelMixin.enable_xla_flash_attention]]

enable_xla_flash_attention(partition_spec: typing.Optional[typing.Callable] = None, **kwargs)

Kaynak

torch_xla için flash attention pallals çekirdeğini etkinleştirin.

from_pretrained[[diffusers.ModelMixin.from_pretrained]]

from_pretrained(pretrained_model_name_or_path: str | os.PathLike | None, **kwargs)

Kaynak

Parametreler:

pretrained_model_name_or_path (str veya os.PathLike, isteğe bağlı) : Şunlardan biri olabilir: - Hub'da barındırılan önceden eğitilmiş bir modelin model kimliği (örneğin google/ddpm-celebahq-256) olan bir dize. - save_pretrained() ile kaydedilmiş model ağırlıklarını içeren bir dizin yolu (örneğin ./my_model_directory).

cache_dir (str | os.PathLike, isteğe bağlı) : Standart önbellek kullanılmıyorsa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alındığı dizinin yolu.

dtype (torch.dtype, isteğe bağlı) : Varsayılan torch.dtype değerini geçersiz kılar ve modeli başka bir dtype ile yükler.

force_download (bool, isteğe bağlı, varsayılan False) : Model ağırlıklarının ve yapılandırma dosyalarının (yeniden) indirilmesinin zorlanıp zorlanmayacağını belirler; önbellekteki sürümler varsa bunların üzerine yazar.

proxies (dict[str, str], isteğe bağlı) : Protokol veya uç nokta bazında kullanılacak vekil sunucuların sözlüğü, örneğin {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Vekiller her istekte kullanılır.

output_loading_info (bool, isteğe bağlı, varsayılan False) : Eksik anahtarlar, beklenmeyen anahtarlar ve hata mesajlarını içeren bir sözlüğün de döndürülüp döndürülmeyeceğini belirtir.

local_files_only(bool, isteğe bağlı, varsayılan False) : Yalnızca yerel model ağırlıklarının ve yapılandırma dosyalarının yüklenip yüklenmeyeceğini belirtir. True olarak ayarlanırsa, model Hub'dan indirilmez.

token (str veya bool, isteğe bağlı) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True ise, diffusers-cli login ile oluşturulan jeton (~/.huggingface içinde saklanır) kullanılır.

revision (str, isteğe bağlı, varsayılan "main") : Kullanılacak belirli model sürümü. Bir dal adı, etiket adı, commit kimliği veya Git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

subfolder (str, isteğe bağlı, varsayılan "") : Hub'da veya yerel olarak daha büyük bir model deposu içindeki bir model dosyasının alt klasör konumu.

mirror (str, isteğe bağlı) : Çin'de bir model indiriyorsanız erişilebilirlik sorunlarını çözmek için ayna kaynağı. Kaynağın güncelliğini veya güvenliğini garanti etmiyoruz; daha fazla bilgi için ayna sitesine başvurmalısınız.

device_map (int | str | torch.device veya dict[str, int | str | torch.device], isteğe bağlı) : Her alt modülün nereye gönderileceğini belirten bir eşleme. Her parametre/buffer adı için tanımlanması gerekmez; belirli bir modül adı bir kez dahil edildiğinde, onun tüm alt modülleri aynı cihaza gönderilir. Varsayılan olarak None'dır, bu da modelin CPU üzerinde yükleneceği anlamına gelir. Örnekler: py >>> from diffusers import AutoModel >>> import torch >>> # This works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map="cuda" ... ) >>> # This also works (integer accelerator device ID). >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map=0 ... ) >>> # Specifying a supported offloading strategy like "auto" also works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet", device_map="auto" ... ) >>> # Specifying a dictionary as `device_map` also works. >>> model = AutoModel.from_pretrained( ... "stabilityai/stable-diffusion-xl-base-1.0", ... subfolder="unet", ... device_map={"": torch.device("cuda")}, ... ) En optimize device_map'i 🤗 Accelerate tarafından otomatik olarak hesaplatmak için device_map="auto" ayarlayın. Her seçenek hakkında daha fazla bilgi için cihar haritası tasarımı bölümüne bakın. Daha somut örnekler için Diffusers'a özgü dokümantasyona da başvurabilirsiniz.

max_memory (Dict, isteğe bağlı) : Maksimum bellek için bir sözlük cihaz tanımlayıcısı. Ayarlanmazsa, varsayılan olarak her GPU için kullanılabilir maksimum bellek ve kullanılabilir CPU RAM'i olacaktır.

offload_folder (str veya os.PathLike, isteğe bağlı) : device_map değeri "disk" içeriyorsa ağırlıkların taşınacağı yol.

offload_state_dict (bool, isteğe bağlı) : True ise, CPU durum sözlüğünün ağırlığı + checkpoint'in en büyük dilimi sığmıyorsa CPU RAM'inin dolmasını önlemek için CPU durum sözlüğü geçici olarak sabit diske aktarılır. Disk aktarımı varsa varsayılan olarak True değerine ayarlanır.

low_cpu_mem_usage (bool, isteğe bağlı, varsayılan olarak PyTorch sürümü >= 1.9.0 ise True, aksi halde False) : Ağırlıkları başlatmadan yalnızca önceden eğitilmiş ağırlıkları yükleyerek model yüklemesini hızlandırır. Bu, model yüklenirken (tepe bellek dahil) CPU belleğinde model boyutunun 1 katından fazlasını kullanmamaya da çalışır. Yalnızca PyTorch >= 1.9.0 için desteklenir. PyTorch'un daha eski bir sürümünü kullanıyorsanız, bu argümanı True olarak ayarlamak bir hata verecektir.

variant (str, isteğe bağlı) : Ağırlıkları, "fp16" veya "ema" gibi belirli bir variant dosya adından yükler.

use_safetensors (bool, isteğe bağlı, varsayılan None) : None olarak ayarlanırsa, safetensors ağırlıkları mevcut ve safetensors kütüphanesi yüklüyse indirilir. True olarak ayarlanırsa, model safetensors ağırlıklarından zorla yüklenir. False olarak ayarlanırsa, safetensors ağırlıkları yüklenmez.

disable_mmap ('bool', isteğe bağlı, varsayılan 'False') : Bir Safetensors modeli yüklenirken mmap'in devre dışı bırakılıp bırakılmayacağını belirtir. Model bir ağ biriminde veya sabit diskte olduğunda, bu ortamın mmap'in rastgele erişim (seek) davranışını iyi yönetememesi nedeniyle bu seçenek daha iyi performans gösterebilir.

use_flashpack (bool, isteğe bağlı, varsayılan False) : True olarak ayarlanırsa, model flashpack ağırlıklarından yüklenir.

flashpack_kwargs(dict[str, Any], isteğe bağlı, varsayılan {}) : flashpack.deserialization.assign_from_file fonksiyonuna aktarılan Kwargs

Önceden eğitilmiş bir model yapılandırmasından önceden eğitilmiş bir PyTorch modeli örnekleyin.

Model varsayılan olarak değerlendirme moduna ayarlanır - model.eval() - ve dropout modülleri devre dışı bırakılır. Modeli eğitmek için model.train() ile eğitim moduna geri ayarlayın.

> Özel veya korumalı modelleri kullanmak için oturum açın hf > auth login ile. Bu yöntemi bir > "offline-mode" ile etkinleştirerek > güvenlik duvarlı bir ortamda da kullanabilirsiniz.

Örnek:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")

Aşağıdaki hata mesajını alıyorsanız, aşağı akış göreviniz için ağırlıkları ince ayar yapmanız gerekir:

Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.

get_memory_footprint[[diffusers.ModelMixin.get_memory_footprint]]

get_memory_footprint(return_buffers = True)

Kaynak

Parametreler:

return_buffers (bool, isteğe bağlı, varsayılan True) : Bellek ayak izinin hesaplanmasında tampon tensörlerinin boyutunun döndürülüp döndürülmeyeceğini belirtir. Tamponlar, gradyan gerektirmeyen ve parametre olarak kaydedilmeyen tensörlerdir. Örneğin, batch norm katmanlarındaki ortalama ve standart sapma. Lütfen şuraya bakın: https://discuss.pytorch.org/t/what-pytorch-means-by-buffers/120266/2

Bir modelin bellek ayak izini alın. Bu, mevcut modelin bayt cinsinden bellek ayak izini döndürür. Mevcut modelin bellek ayak izini ölçmek ve bazı testler tasarlamak için faydalıdır. Çözüm, PyTorch tartışmalarından ilham alınarak oluşturulmuştur: https://discuss.pytorch.org/t/gpu-memory-that-model-uses/56822/2

num_parameters[[diffusers.ModelMixin.num_parameters]]

num_parameters(only_trainable: bool = False, exclude_embeddings: bool = False)

Kaynak

Parametreler:

only_trainable (bool, isteğe bağlı, varsayılan False) : Yalnızca eğilebilir parametre sayısını döndürüp döndürmeyeceğini belirtir.

exclude_embeddings (bool, isteğe bağlı, varsayılan False) : Yalnızca gömme olmayan parametre sayısını döndürüp döndürmeyeceğini belirtir.

Dönüş: int

Parametre sayısı.

Modüldeki (eğitilebilir veya gömme olmayan) parametre sayısını alın.

Örnek:

from diffusers import UNet2DConditionModel

model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
unet = UNet2DConditionModel.from_pretrained(model_id, subfolder="unet")
unet.num_parameters(only_trainable=True)
859520964

reset_attention_backend[[diffusers.ModelMixin.reset_attention_backend]]

reset_attention_backend()

Kaynak

Model için dikkat (attention) arka ucunu sıfırlar. forward çağrılarının ardından, ayarlanmışsa ortam varsayılanı, aksi halde torch yerel ölçekli nokta çarpımı dikkati (scaled dot product attention) kullanılır.

save_pretrained[[diffusers.ModelMixin.save_pretrained]]

save_pretrained(save_directory: str | os.PathLike, is_main_process: bool = True, save_function: typing.Optional[typing.Callable] = None, safe_serialization: bool = True, variant: str | None = None, max_shard_size: int | str = '10GB', push_to_hub: bool = False, use_flashpack: bool = False, **kwargs)

Kaynak

Parametreler:

save_directory (str veya os.PathLike) : Bir model ve yapılandırma dosyasının kaydedileceği dizin. Var değilse oluşturulur.

is_main_process (bool, isteğe bağlı, varsayılan True) : Bu işlemi çağıran sürecin ana süreç olup olmadığı. Dağıtık eğitim sırasında ve bu fonksiyonu tüm süreçlerde çağırmanız gerektiğinde kullanışlıdır. Bu durumda, yarış durumlarını (race condition) önlemek için is_main_process=True değerini yalnızca ana süreçte ayarlayın.

save_function (Callable) : Durum sözlüğünü (state dictionary) kaydetmek için kullanılacak işlev. Dağıtık eğitim sırasında torch.save yerine başka bir yöntem kullanmanız gerektiğinde faydalıdır. DIFFUSERS_SAVE_MODE ortam değişkeni ile yapılandırılabilir.

safe_serialization (bool, isteğe bağlı, varsayılan True) : Modelin safetensors ile mi yoksa geleneksel PyTorch yöntemiyle pickle kullanılarak mı kaydedileceğini belirtir.

variant (str, isteğe bağlı) : Belirtilirse, ağırlıklar pytorch_model.<variant>.bin biçiminde kaydedilir.

max_shard_size (int veya str, varsayılan "10GB") : Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Dize olarak ifade ediliyorsa, birimden (örneğin "5GB") önce rakamlar gelmelidir. Tamsayı olarak ifade ediliyorsa birim bayttır. Belirli bir süre sonra (Ekim 2024'ten itibaren) diffusers'ın en son sürümüne yükseltme yapabilmeleri için kullanıcıların bu sınırın düşürüleceğini unutmayın. Bu, Hugging Face ekosistemindeki farklı kütüphaneler (örneğin transformers ve accelerate) için bu argümana yönelik ortak bir varsayılan boyut belirlemek içindir.

push_to_hub (bool, isteğe bağlı, varsayılan False) : Modelinizi kaydettikten sonra Hugging Face Hub'a gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirleyebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adı kullanılır).

kwargs (dict[str, Any], isteğe bağlı) : push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bir modeli ve yapılandırma dosyasını, from_pretrained() sınıf yöntemiyle yeniden yüklenebilmesi için bir dizine kaydedin.

set_attention_backend[[diffusers.ModelMixin.set_attention_backend]]

set_attention_backend(backend: str)

Kaynak

Parametreler:

backend (str) : Ayarlanacak backend'in adı. AttentionBackendName içinde tanımlanan mevcut backend'lerden biri olmalıdır. Kullanılabilir backend'ler diffusers.attention_dispatch.AttentionBackendName içinde bulunabilir. Varsayılan olarak backend olarak torch native scaled dot product attention kullanılır.

Model için dikkat (attention) arka ucunu ayarlayın.

set_use_npu_flash_attention[[diffusers.ModelMixin.set_use_npu_flash_attention]]

set_use_npu_flash_attention(valid: bool)

Kaynak

npu flash attention için anahtarı ayarlayın.

'e[[diffusers.ModelMixin.to]]

to(*args, **kwargs)

Noktalı bir yol için sahte bir değer (ör. torch.float32): öznitelik erişim zincirleri, çağrılar geçiş (pass-through) dekoratörleri gibi davranır, repr noktalı yoldur ve bir taban sınıf olarak kullanıldığında düz bir type tabanı yerine geçer (PEP 560 __mro_entries__), böylece gerçek alt sınıflar normal bir meta sınıfı korur ve inspect.signature sahtenin yerine gerçek __init__ değerlerini okur.

PushToHubMixin[[diffusers.utils.PushToHubMixin]]

diffusers.utils.PushToHubMixin[[diffusers.utils.PushToHubMixin]]

diffusers.utils.PushToHubMixin()

Kaynak

Bir model, zamanlayıcı veya hattı Hugging Face Hub'a göndermek için bir Mixin.

push_to_hub[[diffusers.utils.PushToHubMixin.push_to_hub]]

push_to_hub(repo_id: str, commit_message: str | None = None, private: bool | None = None, token: str | None = None, create_pr: bool = False, safe_serialization: bool = True, variant: str | None = None, subfolder: str | None = None)

Kaynak

Parametreler:

repo_id (str) : Model, zamanlayıcı veya pipeline dosyalarınızı itmek istediğiniz depoyun adı. Bir organizasyona itme işlemi sırasında organizasyon adınızı içermelidir. repo_id ayrıca yerel bir dizine giden bir yol da olabilir.

commit_message (str, isteğe bağlı) : İterken commit edilecek mesaj. Varsayılan olarak "Upload {object}".

private (bool, isteğe bağlı) : Depoyu özel yapılıp yapılmayacağını belirtir. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.

token (str, isteğe bağlı) : Uzaktaki dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. hf auth login çalıştırıldığında oluşturulan jeton (~/.huggingface içinde saklanır).

create_pr (bool, isteğe bağlı, varsayılan False) : Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.

safe_serialization (bool, isteğe bağlı, varsayılan True) : Model ağırlıklarının safetensors biçimine dönüştürülüp dönüştürülmeyeceği.

variant (str, isteğe bağlı) : Belirtilirse, ağırlıklar pytorch_model.<variant>.bin biçiminde kaydedilir.

Model, zamanlayıcı veya boru hattı dosyalarını 🤗 Hugging Face Hub'a yükleyin.

Örnekler:

from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="unet")

# Push the `unet` to your namespace with the name "my-finetuned-unet".
unet.push_to_hub("my-finetuned-unet")

# Push the `unet` to an organization with the name "my-finetuned-unet".
unet.push_to_hub("your-org/my-finetuned-unet")

Xet Storage Details

Size:
30 kB
·
Xet hash:
b8f2176a2d6ee394805eafb79ef5d776ffe23b4c8e747183f1d946b9aba37445

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