huggingface / huggingface/diffusers

`from_pipe` converts pipelines to float32 by default

Abierto
#12,754 13 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Python
Estrellas
34.5k
Forks
7.3k
Merge medio
3 d 3 h
PR fusionados (30 d)
91

Descripción

### Describe the bug

Pipelines passed to `from_pipe()` are converted to float32 unless `torch_dtype` is specified, leading to higher memory usage and slower inference.

### Reproduction
```python
import torch
from diffusers import StableDiffusionPipeline, StableDiffusionImg2ImgPipeline

pipe = StableDiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", torch_dtype=torch.float16).to("cuda")
print(f"Before: {pipe.dtype} - {torch.cuda.memory_allocated() // 1048576} MB")

i2i = StableDiffusionImg2ImgPipeline.from_pipe(pipe)
print(f"After: {pipe.dtype} - {torch.cuda.memory_allocated() // 1048576} MB")
```
### Logs
```
Loading pipeline components...: 0%| | 0/7 [00:00

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en el punto de entrada `from_pipe()` y reproduce la conversión con el ejemplo de StableDiffusionPipeline y StableDiffusionImg2ImgPipeline del issue. Compara el dtype del pipeline y la memoria CUDA antes y después de la conversión. Se considera completado cuando un pipeline pasado por `from_pipe()` conserva el dtype de origen de forma predeterminada sin requerir `torch_dtype`.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python, pytorch
Área
machine-learning, performance
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.