# Geração de imagem incondicional

A geração de imagens incondicional gera imagens que se assemelham a uma amostra aleatória dos dados de treinamento em que o modelo foi treinado, pois o processo de remoção de ruído não é guiado por nenhum contexto adicional, como texto ou imagem.

Para começar, use o [DiffusionPipeline](/docs/diffusers/main/pt/api/pipelines/overview#diffusers.DiffusionPipeline) para carregar o checkpoint [anton-l/ddpm-butterflies-128](https://huggingface.co/anton-l/ddpm-butterflies-128) e gerar imagens de borboletas. O [DiffusionPipeline](/docs/diffusers/main/pt/api/pipelines/overview#diffusers.DiffusionPipeline) baixa e faz o cache de todos os componentes do modelo necessários para gerar uma imagem.

```py
from diffusers import DiffusionPipeline

generator = DiffusionPipeline.from_pretrained("anton-l/ddpm-butterflies-128").to("cuda")  # or "mps", "xpu", "cpu"
image = generator().images[0]
image
```

> [!TIP]
> Quer gerar imagens de outra coisa? Dê uma olhada no [guia](../training/unconditional_training) de treinamento para aprender a treinar um modelo para gerar suas próprias imagens.

A imagem de saída é um objeto [`PIL.Image`](https://pillow.readthedocs.io/en/stable/reference/Image.html?highlight=image#the-image-class) que pode ser salvo:

```py
image.save("generated_image.png")
```

Você também pode tentar experimentar com o parâmetro `num_inference_steps`, que controla o número de etapas de remoção de ruído. Mais etapas de remoção de ruído geralmente produzem imagens de maior qualidade, mas levará mais tempo para gerar. Sinta-se à vontade para brincar com esse parâmetro para ver como ele afeta a qualidade da imagem.

```py
image = generator(num_inference_steps=100).images[0]
image
```

Experimente o Space abaixo para gerar uma imagem de uma borboleta!

<iframe src="https://stevhliu-unconditional-image-generation.hf.space" frameborder="0" width="850" height="500"
>

