huggingface / huggingface/diffusers

Any chance class members like self._interrupt could be defined in __init__ across pipelines?

Open
#11,002 13 comments 0 reactions 0 assignees View on GitHub
bug contributions-welcome help wanted stale
Dominant language
Python
Stars
34.5k
Forks
7.3k
Avg merge
3d 3h
Merged PRs (30d)
91

Description

### Describe the bug

I think there is no benefit to late initializing here and it puts a burden on the library user that could be easily avoided. Also leads to some confusion as it is uncommon, code inspection flags this. Let me know if I'm missing something.

### Reproduction

```
class WanImageToVideoPipeline:
def __init__(self):
pass

def __call__(self, *args, **kwargs):
self._interrupt = False
return 23

@property
def interrupt(self):
return self._interrupt

pipe = WanImageToVideoPipeline()

def on_async_user_abort_call_me_any_time():
# check if already interrupted but mid step
print(pipe.interrupt)

on_async_user_abort_call_me_any_time()
```

### Logs

```shell
AttributeError: 'WanImageToVideoPipeline' object has no attribute '_interrupt'. Did you mean: 'interrupt'?
```

### System Info

Diffusers 0.33.0.dev0, Linux, Python 3.10

### Who can help?

@yiyixuxu @DN6

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.