(self, conditional)
| 223 | return cond |
| 224 | |
| 225 | def compute_conditional(self, conditional): |
| 226 | import clip |
| 227 | |
| 228 | dev = next(self.parameters()).device |
| 229 | |
| 230 | if type(conditional) in {list, tuple}: |
| 231 | text_tokens = clip.tokenize(conditional).to(dev) |
| 232 | cond = self.clip_model.encode_text(text_tokens) |
| 233 | else: |
| 234 | if conditional in self.precomputed_prompts: |
| 235 | cond = self.precomputed_prompts[conditional].float().to(dev) |
| 236 | else: |
| 237 | text_tokens = clip.tokenize([conditional]).to(dev) |
| 238 | cond = self.clip_model.encode_text(text_tokens)[0] |
| 239 | |
| 240 | if self.shift_vector is not None: |
| 241 | return cond + self.shift_vector |
| 242 | else: |
| 243 | return cond |
| 244 | |
| 245 | |
| 246 | def clip_load_untrained(version): |
no test coverage detected