# Uso de 🧨 `diffusers` en Hugging Face

Diffusers es la biblioteca de referencia para modelos de difusión preentrenados de última generación para generar imágenes, audio e incluso estructuras 3D de moléculas. Ya sea que busques una solución de inferencia sencilla o quieras entrenar tu propio modelo de difusión, Diffusers es un kit de herramientas modular que soporta ambas opciones. La biblioteca está diseñada con un enfoque en la usabilidad por encima del rendimiento, lo simple por encima de lo fácil y la personalizabilidad por encima de las abstracciones.

## Explorar Diffusers en el Hub

Hay más de 10.000 pipelines compatibles con `diffusers` en el Hub, que puedes encontrar filtrando a la izquierda de [la página de modelos](https://huggingface.co/models?library=diffusers&sort=downloads). Los sistemas de difusión suelen estar compuestos por múltiples componentes, como el codificador de texto, UNet, VAE y el programador. Aunque no son modelos independientes, la abstracción de pipeline facilita su uso para inferencia o entrenamiento.

Puedes encontrar pipelines de difusión para muchas tareas diferentes:

* Generación de imágenes a partir de prompts de texto en lenguaje natural ([text-to-image](https://huggingface.co/models?library=diffusers&pipeline_tag=text-to-image&sort=downloads)).
* Transformar imágenes mediante prompts de texto en lenguaje natural ([image-to-image](https://huggingface.co/models?library=diffusers&pipeline_tag=image-to-image&sort=downloads)).
* Generación de videos a partir de descripciones en lenguaje natural ([text-to-video](https://huggingface.co/models?library=diffusers&pipeline_tag=text-to-video&sort=downloads)).

Puedes probar los modelos directamente en el navegador si deseas probarlos sin descargarlos, ¡gracias a los widgets en el navegador!

## Archivos del repositorio de Diffusers

Un repositorio de modelos de [Diffusers](https://hf.co/docs/diffusers/index) contiene todos los subcomponentes de modelo necesarios, como el autoencoder variacional para codificar imágenes y decodificar latentes, el codificador de texto, el modelo transformer y más. Estos subcomponentes se organizan en una estructura de múltiples carpetas.

  

Cada subcarpeta contiene los pesos y la configuración, cuando sea aplicable, de cada componente, de forma similar a un modelo de [Transformers](./transformers).

Los pesos suelen almacenarse como archivos safetensors y la configuración suele ser un archivo json con información sobre la arquitectura del modelo.

## Uso de pipelines existentes

Todos los pipelines de `diffusers` están a una línea de distancia de ser utilizados. Para ejecutar la generación, recomendamos comenzar siempre desde `DiffusionPipeline`:

```py
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0")
```

Si desea cargar un componente específico de la pipeline, como el UNet, puede hacerlo de la siguiente manera:

```py
from diffusers import UNet2DConditionModel

unet = UNet2DConditionModel.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", subfolder="unet")
```

## Compartir tus pipelines y modelos

Todas las [clases de pipeline](https://huggingface.co/docs/diffusers/main/api/pipelines/overview), [clases de modelo](https://huggingface.co/docs/diffusers/main/api/models/overview) y [clases de programador](https://huggingface.co/docs/diffusers/main/api/schedulers/overview) son totalmente compatibles con el Hub. Más concretamente, se pueden cargar fácilmente desde el Hub mediante el método `from_pretrained()` y compartirse con otros mediante el método `push_to_hub()`.

Para más detalles, consulte la [documentación](https://huggingface.co/docs/diffusers/main/en/using-diffusers/push_to_hub).

## Recursos adicionales

* Biblioteca [Diffusers](https://github.com/huggingface/diffusers).
* Documentación de [Diffusers](https://huggingface.co/docs/diffusers/index).

