Buckets:

hf-doc-build/doc / diffusers /main /tr /api /loaders /textual_inversion.md
mishig's picture
|
download
raw
10.2 kB
# Metinsel Tersine Çevirme
Textual Inversion, birkaç örnek görüntüden yeni metin gömlemleri öğrenerek modelleri kişiselleştirmek için kullanılan bir eğitim yöntemidir. Eğitimden üretilen dosya son derece küçüktür (birkaç KB) ve yeni gömlemler metin kodlayıcıya yüklenebilir.
`TextualInversionLoaderMixin`, Diffusers ve Automatic1111 kaynaklarından Textual Inversion gömme vektörlerini metin kodlayıcıya yüklemek ve bu gömme vektörlerini etkinleştirmek için özel bir jeton yüklemek üzere bir işlev sağlar.
> [!TIP]
> Textual Inversion gömme yüklemelerinin nasıl yükleneceğini öğrenmek için [Textual Inversion](../../using-diffusers/legacy_adapters#textual-inversion) yükleme kılavuzuna bakın.
## TextualInversionLoaderMixin[[diffusers.loaders.TextualInversionLoaderMixin]]
#### diffusers.loaders.TextualInversionLoaderMixin[[diffusers.loaders.TextualInversionLoaderMixin]]
```python
diffusers.loaders.TextualInversionLoaderMixin()
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/textual_inversion.py#L118)
Textual Inversion jetonlarını ve gömme değerlerini tokenizer ve metin kodlayıcıya yükleyin.
#### load_textual_inversion[[diffusers.loaders.TextualInversionLoaderMixin.load_textual_inversion]]
```python
load_textual_inversion(pretrained_model_name_or_path: str | list[str] | dict[str, torch.Tensor] | list[dict[str, torch.Tensor]], token: str | list[str] | None = None, tokenizer: 'PreTrainedTokenizer' | None = None, text_encoder: 'PreTrainedModel' | None = None, **kwargs)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/textual_inversion.py#L271)
**Parametreler:**
pretrained_model_name_or_path (`str` veya `os.PathLike` veya `list[str or os.PathLike]` veya `Dict` veya `list[Dict]`) : Aşağıdakilerden biri veya bunların bir listesi olabilir: - Hub'da barındırılan önceden eğitilmiş bir modelin *model kimliği* (örneğin `sd-concepts-library/low-poly-hd-logos-icons`) olan bir dize. - Metinsel tersine çevirme ağırlıklarını içeren bir *dizin* yolu (örneğin `./my_text_inversion_directory/`). - Metinsel tersine çevirme ağırlıklarını içeren bir *dosya* yolu (örneğin `./my_text_inversions.pt`). - Bir [torch state dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict).
token (`str` veya `list[str]`, *isteğe bağlı*) : Metinsel ters çevirme ağırlıkları için kullanılacak jetonu geçersiz kılar. `pretrained_model_name_or_path` bir liste ise, `token` da eşit uzunlukta bir liste olmalıdır.
text_encoder ([CLIPTextModel](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTextModel), *isteğe bağlı*) : Donmuş metin kodlayıcı ([clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14)). Belirtilmezse, fonksiyon self.tokenizer değerini alır.
tokenizer ([CLIPTokenizer](https://huggingface.co/docs/transformers/main/en/model_doc/clip#transformers.CLIPTokenizer), *isteğe bağlı*) : Metni tokenleştirmek için bir `CLIPTokenizer`. Belirtilmezse, fonksiyon self.tokenizer değerini alır.
weight_name (`str`, *isteğe bağlı*) : Özel bir ağırlık dosyasının adı. Bu, aşağıdaki durumlarda kullanılmalıdır: - Kaydedilen metinsel ters çevirme dosyası 🤗 Diffusers biçimindeyse ancak `text_inv.bin` gibi belirli bir ağırlık adı altında kaydedildiyse. - Kaydedilen metinsel ters çevirme dosyası Automatic1111 biçimindeyse.
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.
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.
local_files_only (`bool`, *isteğe bağlı*, varsayılan `False`) : Sadece 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.
hf_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.
[StableDiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline) metin kodlayıcısına Textual Inversion gömme değerlerini yükleyin (hem 🤗 Diffusers hem de Automatic1111 biçimleri desteklenir).
Örnek:
🤗 Diffusers biçiminde bir Textual Inversion gömme vektörü yüklemek için:
```py
from diffusers import StableDiffusionPipeline
import torch
model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda")
pipe.load_textual_inversion("sd-concepts-library/cat-toy")
prompt = "A <cat-toy> backpack"
image = pipe(prompt, num_inference_steps=50).images[0]
image.save("cat-backpack.png")
```
Automatic1111 biçiminde bir Textual Inversion gömme vektörünü yüklemek için, vektörü önce indirin (örneğin [civitAI](https://civitai.com/models/3036?modelVersionId=9857) üzerinden) ve ardından vektörü yükleyin
yerel olarak:
```py
from diffusers import StableDiffusionPipeline
import torch
model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16).to("cuda")
pipe.load_textual_inversion("./charturnerv2.pt", token="charturnerv2")
prompt = "charturnerv2, multiple views of the same character in the same outfit, a character turnaround of a woman wearing a black jacket and red shirt, best quality, intricate details."
image = pipe(prompt, num_inference_steps=50).images[0]
image.save("character.png")
```
#### maybe_convert_prompt[[diffusers.loaders.TextualInversionLoaderMixin.maybe_convert_prompt]]
```python
maybe_convert_prompt(prompt: str | list[str], tokenizer: 'PreTrainedTokenizer')
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/textual_inversion.py#L123)
**Parametreler:**
prompt (`str` veya `str` listesi) : Görsel üretimi yönlendirmek için istem veya istemler.
tokenizer (`PreTrainedTokenizer`) : İsteğin giriş jetonlarına kodlanmasından sorumlu jetonlaştırıcı.
**Dönüş:** `str` veya `str` listesi
Dönüştürülen istem
Çok vektörlü metinsel tersine çevirme gömme değerine karşılık gelen özel bir token içeren istekleri işler ve bu token'ı, vektörlerden her birine karşılık gelen birden fazla özel token ile değiştirir. İstekte metinsel tersine çevirme token'ı yoksa veya metinsel tersine çevirme token'ı tek vektörlüyse, girdi isteği olduğu gibi döndürülür.
#### unload_textual_inversion[[diffusers.loaders.TextualInversionLoaderMixin.unload_textual_inversion]]
```python
unload_textual_inversion(tokens: str | list[str] | None = None, tokenizer: 'PreTrainedTokenizer' | None = None, text_encoder: 'PreTrainedModel' | None = None)
```
[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/loaders/textual_inversion.py#L467)
[StableDiffusionPipeline](/docs/diffusers/main/tr/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline) metin kodlayıcısından Textual Inversion gömme vektörlerini bellekten kaldırın
Örnek:
```py
from diffusers import AutoPipelineForText2Image
import torch
pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
# Example 1
pipeline.load_textual_inversion("sd-concepts-library/gta5-artwork")
pipeline.load_textual_inversion("sd-concepts-library/moeb-style")
# Remove all token embeddings
pipeline.unload_textual_inversion()
# Example 2
pipeline.load_textual_inversion("sd-concepts-library/moeb-style")
pipeline.load_textual_inversion("sd-concepts-library/gta5-artwork")
# Remove just one token
pipeline.unload_textual_inversion("<moe-bius>")
# Example 3: unload from SDXL
pipeline = AutoPipelineForText2Image.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")
embedding_path = hf_hub_download(
repo_id="linoyts/web_y2k", filename="web_y2k_emb.safetensors", repo_type="model"
)
# load embeddings to the text encoders
state_dict = load_file(embedding_path)
# load embeddings of text_encoder 1 (CLIP ViT-L/14)
pipeline.load_textual_inversion(
state_dict["clip_l"],
tokens=["<s0>", "<s1>"],
text_encoder=pipeline.text_encoder,
tokenizer=pipeline.tokenizer,
)
# load embeddings of text_encoder 2 (CLIP ViT-G/14)
pipeline.load_textual_inversion(
state_dict["clip_g"],
tokens=["<s0>", "<s1>"],
text_encoder=pipeline.text_encoder_2,
tokenizer=pipeline.tokenizer_2,
)
# Unload explicitly from both text encoders and tokenizers
pipeline.unload_textual_inversion(
tokens=["<s0>", "<s1>"], text_encoder=pipeline.text_encoder, tokenizer=pipeline.tokenizer
)
pipeline.unload_textual_inversion(
tokens=["<s0>", "<s1>"], text_encoder=pipeline.text_encoder_2, tokenizer=pipeline.tokenizer_2
)
```

Xet Storage Details

Size:
10.2 kB
·
Xet hash:
af338dd7b8e23ab40caaa2ee500402055c30cc4320a4402a07e90741f70231ac

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