Buckets:

mishig's picture
|
download
raw
14.8 kB

IP-Adapter

IP-Adapter est un adaptateur léger qui permet d’interagir avec un modèle de diffusion à l’aide d’une image. Cette méthode découple les couches d’attention croisée des caractéristiques de l’image et du texte. Les caractéristiques de l’image sont générées par un encodeur d’image.

Apprenez à charger et à utiliser un point de contrôle et une image IP-Adapter dans le guide IP-Adapter.

IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin[[diffusers.loaders.IPAdapterMixin]]

diffusers.loaders.IPAdapterMixin()

Source

Mixin pour la gestion des IP Adapters.

load_ip_adapter[[diffusers.loaders.IPAdapterMixin.load_ip_adapter]]

load_ip_adapter(pretrained_model_name_or_path_or_dict: str | list[str] | dict[str, torch.Tensor], subfolder: str | list[str], weight_name: str | list[str], image_encoder_folder: str | None = 'image_encoder', **kwargs)

Source

Paramètres :

pretrained_model_name_or_path_or_dict (str ou list[str] ou os.PathLike ou list[os.PathLike] ou dict ou list[dict]) : Peut être : - Une chaîne de caractères, l'identifiant du modèle (par exemple google/ddpm-celebahq-256) d'un modèle pré-entraîné hébergé sur le Hub. - Un chemin vers un répertoire (par exemple ./my_model_directory) contenant les poids du modèle enregistrés avec ModelMixin.save_pretrained(). - Un dictionnaire d'état torch.

subfolder (str ou list[str]) : Emplacement du sous-dossier d'un fichier de modèle au sein d'un dépôt de modèle plus large sur le Hub ou en local. Si une liste est transmise, elle doit avoir la même longueur que weight_name.

weight_name (str ou list[str]) : Le nom du fichier de poids à charger. Si une liste est passée, elle doit avoir la même longueur que subfolder.

image_encoder_folder (str, facultatif, par défaut image_encoder) : Emplacement du sous-dossier de l'encodeur d'images au sein d'un dépôt de modèle plus large sur le Hub ou en local. Passez None pour ne pas charger l'encodeur d'images. Si l'encodeur d'images se trouve dans un dossier à l'intérieur de subfolder, il suffit de passer le nom du dossier contenant les poids de l'encodeur d'images, par exemple image_encoder_folder="image_encoder". Si l'encodeur d'images se trouve dans un dossier autre que subfolder, vous devez passer le chemin du dossier contenant les poids de l'encodeur d'images, par exemple image_encoder_folder="different_subfolder/image_encoder".

cache_dir (str | os.PathLike, facultatif) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

force_download (bool, facultatif, par défaut False) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

proxies (dict[str, str], facultatif) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Les proxys sont utilisés pour chaque requête.

local_files_only (bool, facultatif, par défaut False) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur True, le modèle ne sera pas téléchargé depuis le Hub.

token (str ou bool, facultatif) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si True, le jeton généré par diffusers-cli login (stocké dans ~/.huggingface) est utilisé.

revision (str, facultatif, par défaut "main") : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

low_cpu_mem_usage (bool, facultatif, par défaut True si la version de torch est >= 1.9.0, sinon False) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur True déclenchera une erreur.

set_ip_adapter_scale[[diffusers.loaders.IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale)

Source

Set IP-Adapter scales per-transformer block. L'entrée scale peut être une configuration unique ou une liste de configurations pour un contrôle granulaire de chaque comportement IP-Adapter. Une configuration peut être un float ou un dictionnaire.

Exemple :

# To use original IP-Adapter
scale = 1.0
pipeline.set_ip_adapter_scale(scale)

# To use style block only
scale = {
    "up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)

# To use style+layout blocks
scale = {
    "down": {"block_2": [0.0, 1.0]},
    "up": {"block_0": [0.0, 1.0, 0.0]},
}
pipeline.set_ip_adapter_scale(scale)

# To use style and layout from 2 reference images
scales = [{"down": {"block_2": [0.0, 1.0]}}, {"up": {"block_0": [0.0, 1.0, 0.0]}}]
pipeline.set_ip_adapter_scale(scales)

unload_ip_adapter[[diffusers.loaders.IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Source

Décharge les poids de l'IP Adapter

Exemples :

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin[[diffusers.loaders.SD3IPAdapterMixin]]

diffusers.loaders.SD3IPAdapterMixin()

Source

Mixin pour la gestion des IP Adapters de StableDiffusion 3.

is_ip_adapter_active[[diffusers.loaders.SD3IPAdapterMixin.is_ip_adapter_active]]

is_ip_adapter_active()

Source

Retourne : bool

Vrai lorsque IP-Adapter est chargé et qu'au moins une couche a une échelle > 0.

Vérifie si IP-Adapter est chargé et si scale > 0.

L'échelle de l'IP-Adapter contrôle l'influence du prompt image par rapport au prompt texte. Lorsque cette valeur est définie sur 0, le contexte de l'image est sans importance.

load_ip_adapter[[diffusers.loaders.SD3IPAdapterMixin.load_ip_adapter]]

load_ip_adapter(pretrained_model_name_or_path_or_dict: str | dict[str, torch.Tensor], weight_name: str = 'ip-adapter.safetensors', subfolder: str | None = None, image_encoder_folder: str | None = 'image_encoder', **kwargs)

Source

Paramètres :

pretrained_model_name_or_path_or_dict (str ou os.PathLike ou dict) : Peut être : - Une chaîne de caractères, l'identifiant du modèle (par exemple google/ddpm-celebahq-256) d'un modèle pré-entraîné hébergé sur le Hub. - Un chemin vers un dossier (par exemple ./my_model_directory) contenant les poids du modèle enregistrés avec ModelMixin.save_pretrained(). - Un dictionnaire d'état torch.

weight_name (str, par défaut "ip-adapter.safetensors") : Le nom du fichier de poids à charger. Si une liste est transmise, elle doit avoir la même longueur que subfolder.

subfolder (str, facultatif) : Emplacement du sous-dossier d'un fichier de modèle au sein d'un dépôt de modèle plus large sur le Hub ou en local. Si une liste est transmise, elle doit avoir la même longueur que weight_name.

image_encoder_folder (str, facultatif, par défaut image_encoder) : Emplacement du sous-dossier de l'encodeur d'images au sein d'un dépôt de modèle plus large sur le Hub ou en local. Passez None pour ne pas charger l'encodeur d'images. Si l'encodeur d'images se trouve dans un dossier à l'intérieur de subfolder, il suffit de passer le nom du dossier contenant les poids de l'encodeur d'images, par exemple image_encoder_folder="image_encoder". Si l'encodeur d'images se trouve dans un dossier autre que subfolder, vous devez passer le chemin du dossier contenant les poids de l'encodeur d'images, par exemple image_encoder_folder="different_subfolder/image_encoder".

cache_dir (str | os.PathLike, facultatif) : Chemin vers un répertoire où la configuration d'un modèle pré-entraîné téléchargé est mise en cache si le cache standard n'est pas utilisé.

force_download (bool, facultatif, par défaut False) : Indique s'il faut forcer le (re)téléchargement des poids du modèle et des fichiers de configuration, en ignorant les versions mises en cache si elles existent.

proxies (dict[str, str], facultatif) : Un dictionnaire de serveurs proxy à utiliser par protocole ou point de terminaison, par exemple, {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Les proxys sont utilisés pour chaque requête.

local_files_only (bool, facultatif, par défaut False) : Indique s'il faut charger uniquement les poids et les fichiers de configuration du modèle locaux. Si défini sur True, le modèle ne sera pas téléchargé depuis le Hub.

token (str ou bool, facultatif) : Le jeton à utiliser comme autorisation bearer HTTP pour les fichiers distants. Si True, le jeton généré par diffusers-cli login (stocké dans ~/.huggingface) est utilisé.

revision (str, facultatif, par défaut "main") : La version spécifique du modèle à utiliser. Il peut s'agir d'un nom de branche, d'un nom de tag, d'un identifiant de commit ou de tout identifiant autorisé par Git.

low_cpu_mem_usage (bool, facultatif, par défaut True si la version de torch est >= 1.9.0, sinon False) : Accélère le chargement du modèle en ne chargeant que les poids préentraînés et sans initialiser les poids. Cela tente également de ne pas utiliser plus de 1 fois la taille du modèle en mémoire CPU (y compris la mémoire de pointe) lors du chargement du modèle. Pris en charge uniquement pour PyTorch >= 1.9.0. Si vous utilisez une version plus ancienne de PyTorch, définir cet argument sur True déclenchera une erreur.

set_ip_adapter_scale[[diffusers.loaders.SD3IPAdapterMixin.set_ip_adapter_scale]]

set_ip_adapter_scale(scale: float)

Source

Paramètres :

scale (float) : échelle de l'IP-Adapter à définir.

Définissez l'échelle de l'IP-Adapter, qui contrôle le conditionnement par l'invite d'image. Une valeur de 1,0 signifie que le modèle est uniquement conditionné par l'invite d'image, et 0,0 uniquement par l'invite de texte. Diminuer cette valeur encourage le modèle à produire des images plus variées, mais elles peuvent être moins alignées avec l'invite d'image.

Exemple :

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.set_ip_adapter_scale(0.6)
>>> ...

unload_ip_adapter[[diffusers.loaders.SD3IPAdapterMixin.unload_ip_adapter]]

unload_ip_adapter()

Source

Décharge les poids de l'IP Adapter.

Exemple :

>>> # Assuming `pipeline` is already loaded with the IP Adapter weights.
>>> pipeline.unload_ip_adapter()
>>> ...

IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)

Source

Paramètres :

do_resize (bool, facultatif, valeur par défaut True) : Indique s'il faut réduire les dimensions (hauteur, largeur) de l'image à des multiples de vae_scale_factor.

vae_scale_factor (int, facultatif, valeur par défaut 8) : facteur d'échelle du VAE. Si do_resize est True, l'image est redimensionnée automatiquement en multiples de ce facteur.

resample (str, facultatif, par défaut lanczos) : Filtre de rééchantillonnage à utiliser lors du redimensionnement de l'image.

do_normalize (bool, facultatif, par défaut False) : Indique s'il faut normaliser l'image dans l'intervalle [-1,1].

do_binarize (bool, facultatif, par défaut True) : Indique s'il faut binariser l'image en 0/1.

do_convert_grayscale (bool, facultatif, valeur par défaut True) : Indique s'il faut convertir les images au format niveaux de gris.

Processeur d'images pour les masques d'images IP Adapter.

downsample[[diffusers.IPAdapterMaskProcessor.downsample]]

downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)

Source

Paramètres :

mask (torch.Tensor) : Le tenseur de masque d'entrée généré avec IPAdapterMaskProcessor.preprocess().

batch_size (int) : La taille du lot.

num_queries (int) : Le nombre de requêtes.

value_embed_dim (int) : La dimensionnalité des embeddings de valeur.

Retourne : torch.Tensor

Le tenseur de masque sous-échantillonné.

Effectue un sous-échantillonnage du tenseur de masque fourni afin de correspondre aux dimensions attendues pour l'attention à produit scalaire mis à l'échelle. Si le rapport d'aspect du masque ne correspond pas au rapport d'aspect de l'image de sortie, un avertissement est émis.

Xet Storage Details

Size:
14.8 kB
·
Xet hash:
2722dea31cfa66df7ff3e3a36c1ccd26c6f667c4e39e6f5a0b2ca8f7687a034d

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