53 lines
1.9 KiB
Plaintext
53 lines
1.9 KiB
Plaintext
<!--Copyright 2022 The HuggingFace Team. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
|
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations under the License.
|
|
-->
|
|
|
|
|
|
|
|
# Unonditional Image Generation
|
|
|
|
The [`DiffusionPipeline`] is the easiest way to use a pre-trained diffusion system for inference
|
|
|
|
Start by creating an instance of [`DiffusionPipeline`] and specify which pipeline checkpoint you would like to download.
|
|
You can use the [`DiffusionPipeline`] for any [Diffusers' checkpoint](https://huggingface.co/models?library=diffusers&sort=downloads).
|
|
In this guide though, you'll use [`DiffusionPipeline`] for unconditional image generation with [DDPM](https://arxiv.org/abs/2006.11239):
|
|
|
|
```python
|
|
>>> from diffusers import DiffusionPipeline
|
|
|
|
>>> generator = DiffusionPipeline.from_pretrained("google/ddpm-celebahq-256")
|
|
```
|
|
The [`DiffusionPipeline`] downloads and caches all modeling, tokenization, and scheduling components.
|
|
Because the model consists of roughly 1.4 billion parameters, we strongly recommend running it on GPU.
|
|
You can move the generator object to GPU, just like you would in PyTorch.
|
|
|
|
```python
|
|
>>> generator.to("cuda")
|
|
```
|
|
|
|
Now you can use the `generator` on your text prompt:
|
|
|
|
```python
|
|
>>> image = generator().images[0]
|
|
```
|
|
|
|
The output is by default wrapped into a [PIL Image object](https://pillow.readthedocs.io/en/stable/reference/Image.html?highlight=image#the-image-class).
|
|
|
|
You can save the image by simply calling:
|
|
|
|
```python
|
|
>>> image.save("generated_image.png")
|
|
```
|
|
|
|
|
|
|
|
|