---
title: Guía completa de samplers en Stable Diffusion
description: Sumérgete en el mundo de los samplers en Stable Diffusion y desbloquea el potencial de la generación de imágenes.
url: https://www.felixsanz.dev/es/articulos/guia-completa-de-samplers-en-stable-diffusion
language: es
published: 2023-06-30
updated: 2023-06-30
tags:
  - ai
  - stablediffusion
alternate-en: https://www.felixsanz.dev/articles/complete-guide-to-samplers-in-stable-diffusion
---

# Guía completa de samplers en Stable Diffusion

## Introducción

Como vimos en el artículo [Cómo funciona Stable Diffusion](https://www.felixsanz.dev/es/articulos/como-funciona-stable-diffusion#muestreo), cuando solicitamos a Stable Diffusion que genere una imagen lo primero que hace es generar una imagen con ruido y después el proceso de muestreo va eliminando ruido a lo largo de una serie de pasos que hemos especificado. Sería algo así como **empezar con un bloque de mármol blanco** y pegarle martillazos durante varios días **hasta conseguir el David de Miguel Ángel**.

En este proceso entran en escena varios algoritmos. El conocido como ***sampler*** se encarga de obtener del modelo que estemos utilizando en Stable Diffusion una muestra sobre la que aplica el ruido estimado por el predictor de ruido. Posteriormente resta esta muestra a la imagen que está limpiando, **puliendo el mármol en cada paso**.

Este algoritmo se encarga del **cómo**, mientras que el algoritmo conocido como ***noise scheduler*** se encarga del **cuánto**.

> Si la reducción de ruido fuese lineal, nuestra imagen cambiaría la misma cantidad en cada paso, produciendo cambios bruscos. Un noise scheduler con pendiente negativa puede eliminar grandes cantidades de ruido al inicio y así avanzar más rápido, para después pasar a eliminar menos cantidad de ruido y así afinar los pequeños detalles de la imagen.
> 
> [Cómo funciona Stable Diffusion](https://www.felixsanz.dev/es/articulos/como-funciona-stable-diffusion#muestreo)

Siguiendo la analogía del mármol, seguramente al principio será mas útil darle buenos golpes y **quitar trozos grandes para avanzar rápido**, mientras que hacia el final tendremos que **ir muy despacio para afinar bien los detalles** y no hacer que se le caiga un brazo.

Un aspecto clave del proceso es la **convergencia** (***convergence***). Cuando un algoritmo de muestreo llega a un punto en el que más pasos no van a mejorar el resultado se dice que la imagen ha convergido.

Algunos algoritmos convergen muy rápido y son **ideales para probar ideas**. Otros tardan más o necesitan un mayor número de pasos pero suelen ofrecer **más calidad**. Otros en cambio nunca lo hacen porque no tienen límite y ofrecen mayor **creatividad**.

Con este artículo comprenderás la nomenclatura así como los usos de los diferentes métodos sin que haga falta entrar en detalles demasiado técnicos.

> [!NOTE]
> **Parámetros**
> La imagen utilizada en las demostraciones ha sido generada con los siguientes parámetros:
> 
> -   ***Checkpoint***: `dreamshaper_631BakedVae.safetensors`.
> -   ***Positive prompt***: `ultra realistic 8k cg, picture-perfect black sports car, desert wasteland road, car drifting, tires churns up the dry earth beneath creating a magnificent sand dust cloud that billows outwards, nuclear mushroom cloud in the background far away, sunset, masterpiece, professional artwork, ultra high resolution, cinematic lighting, cinematic bloom, natural light`.
> -   ***Negative prompt***: `paintings, cartoon, anime, sketches, lowres, sun`.
> -   ***Width/Height***: `512`/`512`.
> -   ***CFG Scale***: `7`.
> -   ***Seed***: `1954306091`.

## *Samplers* disponibles

Dependiendo del software utilizado encontrarás una variada lista de posibilidades. En este caso vamos a analizar los *samplers* disponibles en Automatic1111.

Es difícil clasificarlos en grupos, aunque claramente hay dos aproximaciones principales:

-   **Modelos probabilísticos** como `DDPM`, `DDIM`, `PLMS` y la familia de modelos `DPM`. Estos modelos generativos son capaces de generar un resultado en base a la distribución de probabilidad estimada por el modelo. Sería como utilizar una **cámara de fotos para fotografíar un paisaje**.
-   **Métodos con enfoque numérico** como `Euler`, `Heun` y `LMS`. En cada paso se busca la solución a un problema matemático concreto y se va estimando la solución poco a poco. En este caso sería como utilizar **pintura y un lienzo para ir creando el paisaje** y añadir nuevos detalles en cada paso.

### DDPM

`DDPM` ([paper](https://arxiv.org/abs/2006.11239)) (Denoising Diffusion Probabilistic Models) es uno de los primeros *samplers* disponibles en Stable Diffusion. Se basa en modelos probabilísticos explícitos para eliminar ruido de una imagen. Requiere una gran cantidad de pasos para alcanzar un resultado decente.

Ya no está disponible en Automatic1111.

### DDIM

`DDIM` ([paper](https://arxiv.org/abs/2010.02502)) (Denoising Diffusion Implicit Models) funciona de manera similar a `DDPM`, utilizando en este caso modelos probabilísticos implícitos. Esta diferencia hace que se produzcan mejores resultados en una cantidad de pasos mucho menor, lo que lo convierte en un *sampler* más rápido con apenas pérdida de calidad.

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/ddim10.DeiMH9O9_2hCq6l.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/ddim30.Bq9DzMYh_Z1r9qXW.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/ddim50.Bpk4B4d7_Z18oMU5.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/ddim100.Ccdz4sex_2lH2E4.jpg)

### PLMS

`PLMS` ([paper](https://arxiv.org/abs/2202.09778)) (Pseudo Linear Multi-Step) es una mejora con respecto a `DDIM`. Utilizando un proceso de 50 pasos es posible conseguir mayor calidad con respecto a un proceso de 1000 pasos en `DDIM`. ¿Fascinante verdad? Pues sigue leyendo que esto no es nada.

![Imagen distorsionada](https://www.felixsanz.dev/assets/plms10.Cy2jenwB_Z1eq5Sm.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/plms30.DOv2NksY_RaSn0.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/plms50.DzNGoZ4l_15me9r.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/plms100.fh77gKqS_28wWek.jpg)

### Euler

`Euler` es posiblemente el método más simple. Basado en [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) (ODE), este método numérico elimina ruido de manera lineal en cada paso. Debido a su simplicidad puede no ser tan preciso como nos gustaría pero es uno de los más rápidos.

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/euler10.CMbvxDY3_O8l1v.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/euler30.BXUTfu_J_ZAFk6D.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/euler50.D2c9JLYr_RHgdL.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/euler100.w5V7K7IH_ZRh4NQ.jpg)

### Heun

`Heun` es el hermano perfeccionista de `Euler`. Mientras que `Euler` solo realiza una aproximación lineal, `Heun` realiza dos tareas en cada paso, convirtiéndolo en un *sampler* de segundo orden. Primero utiliza una aproximación lineal para la predicción y después una aproximación no lineal para la corrección. Esta mejora en la precisión ofrece mayor calidad a cambio de un pequeño inconveniente: tarda el doble.

> [!NOTE]
> **Un poco de historia**
> ¡Karl Heun desarrolló este método numérico hace más de un siglo!

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/heun10.DyRj28cz_zC2SJ.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/heun30.BdmD8Nj9_1PkrhA.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/heun50.BrI98p2S_ZAU71d.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/heun100.DfDu1-II_ZpawyM.jpg)

### LMS

`LMS` o [método lineal multipaso](https://es.wikipedia.org/wiki/M%C3%A9todo_lineal_multipaso) (Linear Multi-Step) es el primo de `PLMS` que utiliza un enfoque numérico en vez de probabilístico (`PLMS` - `P` = `LMS`).

Además, a diferencia de `Euler` y `Heun`, utiliza información de los pasos anteriores para reducir el ruido en cada nuevo paso. Ofrece una mejor precisión a cambio de mayores requerimientos de computación (más lento).

![Imagen distorsionada](https://www.felixsanz.dev/assets/lms10.5eopwSkp_ZrPfNQ.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/lms30.B7mCdcsu_1NufbE.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/lms50.CHc3LSeE_Z1bpQIH.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/lms100.CDjUKbUq_Z2ufX5S.jpg)

### Familia de modelos DPM

`DPM` (Diffusion Probabilistic Models) son modelos probabilísticos que ofrecen mejoras con respecto a `DDPM`. De ahí que su nombre sea parecido. Tampoco hay una implementación disponible en Automatic1111 debido a que cuenta con versiones mejoradas como veremos a continuación.

`DPM2` es una mejora con respecto a `DPM`. Podría decirse que es la versión 2.

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpm210.CJkV48iK_Z2gAChA.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpm230.ft1giF_t_ZlcUv9.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpm250.De04Gv_O_Z2wYe4t.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpm2100.CIpPSH0V_ZwcgLj.jpg)

Por otro lado tenemos `DPM++`, que es también una mejora de `DPM`. Utiliza un enfoque híbrido que combina métodos determinísticos y probabilísticos para el muestreo y la posterior reducción de ruido. No hay ninguna implementación básica de este *sampler* en Automatic1111, si no que se combina con otros métodos. Lo veremos en la siguiente sección.

Así pues, de `DPM` nacen dos versiones con mejoras: `DPM2` y `DPM++`.

#### Modelos DPM más rápidos (`DPM-Solver` y `UniPC`)

Los modelos de difusión probabilística (`DPM`) son, como su nombre indica, **probabilísticos**. En cada paso **no se resuelven ecuaciones mediante métodos numéricos deterministas** como en el caso de `Euler`, `Heun` o `LMS`, si no que se aborda el problema mediante aproximación para intentar muestrear de la manera más precisa posible.

Dentro de estos modelos hay una pieza llamada **solucionador** (***solver***), un algoritmo que tiene un papel importante a la hora de calcular y aproximar una distribución de probabilidad en el muestreo. Y es aquí donde se implementa una nueva técnica conocida como `DPM-Solver` que acorta la duración de cada paso.

En otras palabras, modelos como `DPM fast` ([paper](https://arxiv.org/abs/2206.00927)) o `DPM++ 2S`/`DPM++ 2M` ([paper](https://arxiv.org/abs/2211.01095)) implementan un solucionador más rápido que ahorrará tiempo en el proceso de muestreo.

![Imagen distorsionada](https://www.felixsanz.dev/assets/dpmfast10.jS3pT9Dm_23Hgwz.jpg)

![Imagen distorsionada de un coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmfast30.BBkKzJjy_OO1Ed.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmfast50.D9Hz-hql_Z1vhMg5.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmfast100.ipoXyfBn_ZNWEXo.jpg)

En el caso de `DPM++ 2S`/`DPM++ 2M` el número `2` significa que son de segundo orden. Es decir, utilizan tanto un **predictor** como un **corrector** para aproximar el resultado de manera precisa.

La `S` se refiere a `Single step`. En cada paso se realiza un **único cálculo**, por lo que es más rápido.

En cambio, la letra `M` proviene de `Multi step`, un enfoque en el cual se realizan **múltiples cálculos** en cada paso, teniendo en cuenta información obtenida en pasos anteriores. Esto equivale a una convergencia más precisa y de mayor calidad a costa de tardar más.

En ambas modalidades este solucionador es más rápido que el que viene por defecto en los modelos `DPM`.

No existe una implementación en Automatic1111 de `DPM++ 2S`, solo con variantes `A`, `Karras` y `SDE` (algo que veremos más adelante). Así que veamos unas muestras de `DPM++ 2M`.

![Imagen distorsionada de un coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2m10.CkLTadxD_aXY9V.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2m30.C054w9UZ_SvLar.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2m50.DuobTGGY_1aUG0.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2m100.D2iTo67c_ZPXkWA.jpg)

En cuanto a `UniPC` ([paper](https://arxiv.org/abs/2302.04867)), se trata de un solucionador que se compone de dos partes: un predictor unificado (`UniP`) y un corrector unificado (`UniC`). Este método puede ser aplicado a cualquier modelo `DPM` y se centra en ofrecer la **máxima calidad de muestreo posible en la menor cantidad de pasos**. ¿Recuerdas ahora cuando `PLMS` bajó a 50 pasos lo que `DDIM` hacía en 1000? Pues en algunos casos `UniPC` es capaz de generar imágenes de calidad con tan solo 5 o 10 pasos.

Así pues, `UniPC` puede ser integrado en modelos `DPM` tanto `Single step` como `Multi step`, por lo que es comparable a `DPM++ 2S` o `DPM++ 2M`, con la particularidad de ofrecer mejores resultados cuando el número de pasos es muy bajo

Incluso el corrector `UniC` puede ser integrado a estos algoritmos de muestreo para conseguir mayor eficiencia (por ejemplo, `DPM++ 2S` + `UniC`).

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/unipc10.Cx55oQYX_1Hj8WW.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/unipc30.nC9d6TNk_srbs2.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/unipc50.viUWpz6E_ZTuQtD.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/unipc100.Bzg6o0i1_ZYPUM.jpg)

#### Modelos DPM más precisos (`Adaptive`)

El modelo `DPM adaptive` es una extensión del modelo `DPM` en la cual **se adapta el tamaño del paso** según la dificultad del problema que se está intentando resolver.

Dicho de otra manera, es como si se ignorase el número de pasos especificado y el algoritmo tuviera total libertad para muestrear de manera más eficiente hasta conseguir la mejor convergencia posible. Genera imágenes de mayor calidad a expensas de tardar todo el tiempo que necesite (es el sampler más lento).

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmadaptive.DcNEn4oj_ZP3CLm.jpg)

## Otras características

Solo se puede elegir un algoritmo de muestreo. Pueden utilizarse `Euler` o `DPM`, pero no ambos a la vez. En cambio, cuando hablamos de variantes o características extra, éstas pueden ser combinadas.

Por ejemplo, podemos utilizar el *sampler* llamado `DPM2 A Karras`. Veamos qué significan estos nuevos valores.

### Variantes ancestrales

Cuando un *sampler* contiene la letra `A`, normalmente se refiere a que pertenece a la categoría de variantes **ancestrales**. Estas variantes añaden, en cada nuevo paso, variables aleatorias obtenidas de pasos anteriores. Es como si tras limpiar el ruido en un paso se volviera a añadir un poco del ruido anterior.

*Samplers* con esta característica **nunca convergen debido al ruido aleatorio que se añade en cada paso**. Si siempre hay ruido que eliminar, siempre se podrá ir un paso más allá.

Esto hace que sean *samplers* más creativos. Un paso extra no tiene por qué aumentar la calidad, si no que ofrece otro resultado similar.

> [!NOTE]
> **Reproducibilidad**
> Si intentas reproducir una imagen generada con Stable Diffusion y no lo consigues a pesar de estar utilizando la misma semilla (seed) y los mismos parámetros, puede ser porque estás utilizando un *sampler* ancestral. ¡Es normal! El ruido que se vuelve a añadir en cada paso es aleatorio y diferentes implementaciones o versiones del *sampler* casi seguro que generan diferentes resultados.

Algunos ejemplos de *samplers* son: `Euler A`, `DPM2 A` o `DPM++ 2S A`.

![Explosión nuclear en el desierto](https://www.felixsanz.dev/assets/eulera10.DO_Y5Mqh_28mU6g.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/eulera30.VS6gmAP__ZJNftn.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/eulera50.DNtZz4PJ_2vqlgq.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/eulera100.CvkXzr3k_XOq4R.jpg)

### Variantes Karras

Las variantes con la palabra `Karras` (o `K`) ([paper](https://arxiv.org/abs/2206.00364)) se refieren a un trabajo liderado por Tero Karras, ingeniero de Nvidia. Este proceso introduce una serie de mejoras en algunos *samplers*, consiguiendo **mejorar la eficiencia** tanto en la calidad del resultado como en la computación requerida para el muestreo.

Algunos *samplers* que utilizan estos cambios son: `LMS Karras`, `DPM2 Karras`, `DPM2 A Karras`, `DPM++ 2S A Karras`, `DPM++ 2M Karras` o `DPM++ SDE Karras`.

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2mk10.DqQv057i_13Jnbp.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2mk30.CPb17b5i_Z1R96DI.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2mk50.DK8VCqze_Z1ktOV8.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2mk100.B4jg5XS7_CKvtL.jpg)

La versión `Karras` tiene la ventaja de ofrecer mejores resultados en un número reducido de pasos como puede apreciarse en el siguiente ejemplo:

![Imagen distorsionada de un coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2m10.CkLTadxD_aXY9V.jpg)

*DPM++ 2M - 10 pasos*

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmpp2mk10.DqQv057i_13Jnbp.jpg)

*DPM++ 2M Karras - 10 pasos*

Si utilizas un alto número de pasos te costará ver la diferencia.

### Variantes estocásticas

Las variantes `SDE` ([paper](https://arxiv.org/abs/2011.13456)) utilizan ecuaciones diferenciales estocásticas (*stochastic differential equations*). Sin entrar en mayor detalle, utilizar este tipo de ecuaciones diferenciales permite modelar el ruido de una manera más sofisticada y precisa, utilizándo información de pasos anteriores, lo que en principio generaría **imágenes de mayor calidad a cambio de ser más lentos**. Al ser estocástico nunca converge, por lo que a mayor número de pasos no ofrecen mayor calidad, si no más variaciones al igual que los *samplers* ancestrales.

A fecha de publicación de este artículo contamos con `DPM++ SDE`, `DPM++ 2M SDE`, `DPM++ SDE Karras` y `DPM++ 2M SDE Karras`.

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmppsde10.YBAj4T_s_ZoCVVB.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmppsde30.3A3AnAkS_1VgyJH.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmppsde50.AZLoNzY6_1nd9mE.jpg)

![Coche deportivo negro en el desierto huyendo de una explosión nuclear](https://www.felixsanz.dev/assets/dpmppsde100.Z5o-R6nh_ePtjt.jpg)

## ¿Cuál es el mejor *sampler* en Stable Diffusion?

¿Es mejor un Ferrari o un Jeep? Pues depende de si te metes campo a través, ¿no?

Depende de lo que necesites es mejor utilizar un tipo de *sampler* u otro. Con la información anterior espero que sea fácil elegir, pero aquí unas pistas.

### Calidad de imagen

Si buscas calidad es buena idea perseguir la convergencia. Ese es el punto en el que se obtiene la máxima calidad. Si no quieres sacrificar mucho la velocidad de generación, olvidate de *samplers* como `DDIM` que necesitan cientos de pasos para converger. `Heun` y `LMS Karras` ofrecen buenos resultados pero mejor aún utilizar `DPM++ 2M` o su versión `Karras`.

También puedes probar `DPM adaptive` si no tienes prisa, o `UniPC` si la tienes.

Con estos *samplers* mencionados obtendrás buenos resultados en 20-30 pasos aunque no está de más probar unos pocos pasos extra.

### Velocidad de generación

Si estás probando prompts no querrás perder tanto tiempo esperando resultados. En este caso y donde no busques la máxima calidad si no probar cambios rápidamente te recomiendo utilizar `DPM++ 2M` o `UniPC` con un número pequeño de pasos.

Con apenas 10-15 pasos obtendrás una imagen muy digna.

Si no te preocupa la reproducibilidad también tienes `Euler A`, un *sampler* ancestral rápido y con buena calidad. ¡Mi *sampler* favorito!

### Creatividad y flexibilidad

Esta sección está reservada exclusivamente a *samplers* ancestrales y estocásticos. No ofrecen mala calidad ni tampoco son lentos, simplemente son diferentes.

El problema o ventaja (según como se mire) de estos *samplers* es que si tienes una imagen generada en 40 pasos, el haberlo hecho en 50 pasos puede mejorar o empeorar la imagen. Tendrás que ir probando continuamente. Y esta lotería hace que estos *samplers* sean más creativos ya que siempre puedes cambiar el número de pasos para obtener pequeñas variaciones.

Por supuesto aquí destacan `Euler A` y `DPM++ SDE Karras`. Prueba a generar imágenes en 15 pasos, 20 pasos, 25 pasos... y verás como cambia el resultado.
