| 253 | get_tokens(pipe, 'negative', negative_prompt) |
| 254 | |
| 255 | def clone_embeds(self, batchidx, idx): |
| 256 | def _clone(target): |
| 257 | if len(target) <= idx: |
| 258 | return |
| 259 | src = target[idx] |
| 260 | if isinstance(src, list): |
| 261 | target[batchidx] = [item if not isinstance(item, list) else list(item) for item in src] |
| 262 | else: |
| 263 | target[batchidx] = src |
| 264 | |
| 265 | _clone(self.prompt_embeds) |
| 266 | _clone(self.negative_prompt_embeds) |
| 267 | _clone(self.positive_pooleds) |
| 268 | _clone(self.negative_pooleds) |
| 269 | _clone(self.prompt_attention_masks) |
| 270 | _clone(self.negative_prompt_attention_masks) |
| 271 | |
| 272 | def __call__(self, key, step=0): |
| 273 | batch = getattr(self, key) |