Diffusers documentation

En provenance de DiffusionPipeline

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

En provenance de DiffusionPipeline

Si vous êtes familier avec DiffusionPipeline et que vous travaillez pour la première fois avec un ModularPipeline, certaines choses fonctionnent différemment. Elles sont listées ici afin que vous les ayez en tête avant de parcourir le tutoriel d'introduction.

  • Le chargement est paresseux et flexible. from_pretrained() construit le pipeline à partir du modular_model_index.json du dépôt sans charger de poids. load_components() les charge ensuite, et ce n’est pas nécessairement d’un seul coup : par défaut, il charge tout, mais vous pouvez charger uniquement les composants que vous nommez avec names, ou l’ensemble requis par un workflow donné avec workflow. update_components() vous permet de réutiliser un composant que vous avez déjà, ou un composant qui diffère de la spécification du dépôt. Consultez Chargement des composants et Mise à jour des composants.
  • ModularPipeline lit un index différent, modular_model_index.json, mais fonctionne également avec un dépôt ne contenant que model_index.json, à condition que le modèle dispose d’un pipeline modulaire. L’inverse n’est pas vrai : DiffusionPipeline et les classes AutoPipeline ne fonctionnent pas avec un dépôt ne contenant que modular_model_index.json.
  • Un appel renvoie l’état du pipeline, qui contient également les valeurs intermédiaires (prompt_embeds, latents, …). Demandez ce dont vous avez besoin avec l’argument output, output="images" ou output=["images", "latents"], ou lisez un attribut de l’état, comme dans le tutoriel. Voir États.
  • Le guidage sans classifieur est pris en charge dans le composant guider, et non via un argument d’appel guidance_scale : pipe.update_components(guider=ClassifierFreeGuidance(guidance_scale=5.0)). Consultez le guide des guiders.
  • Il n’existe pas de callback_on_step_end ; toutefois, vous pouvez insérer un bloc dans la boucle de débruitage pour utiliser vos fonctions de rappel existantes. Consultez Modular pipelines dans le guide des callbacks.
  • Le pipeline est un graphe de blocs que vous pouvez modifier (supprimer, insérer, remplacer) avant de le construire avec init_pipeline() ; pipe.blocks renvoie une copie, modifiez donc d'abord les blocs. Consultez Composer de nouveaux workflows.
  • L’offloading est géré par un ComponentsManager, qui peut servir plusieurs pipelines partageant des composants. Consultez le guide ComponentsManager.
Update on GitHub