docs/si/diffusion/stable_diffusion/model/clip_embedder.html
homediffusionstable_diffusionmodel
ස්ථාවර විසරණය සඳහා කඩිනම් කාවැද්දීම් ලබා ගැනීමට මෙය භාවිතා කරයි. එය HuggingFace ට්රාන්ස්ෆෝමර් Clip ආකෘතිය භාවිතා කරයි.
14fromtypingimportList1516fromtorchimportnn17fromtransformersimportCLIPTokenizer,CLIPTextModel
20classCLIPTextEmbedder(nn.Module):
version යනු ආදර්ශ අනුවාදයයිdevice උපාංගය වේmax_length ටෝකනීකෘත විමසුමේ උපරිම දිග වේ25def\_\_init\_\_(self,version:str="openai/clip-vit-large-patch14",device="cuda:0",max\_length:int=77):
31super().\_\_init\_\_()
ටෝකනයිසර් පටවන්න
33self.tokenizer=CLIPTokenizer.from\_pretrained(version)
ක්ලිප් ට්රාන්ස්ෆෝමරය පටවන්න
35self.transformer=CLIPTextModel.from\_pretrained(version).eval()3637self.device=device38self.max\_length=max\_length
prompts කාවැද්දීමට විමසීම් ලැයිස්තුව40defforward(self,prompts:List[str]):
විමසීම් ටෝකන්ට් කරන්න
45batch\_encoding=self.tokenizer(prompts,truncation=True,max\_length=self.max\_length,return\_length=True,46return\_overflowing\_tokens=False,padding="max\_length",return\_tensors="pt")
ටෝකන් හැඳුනුම්පත් ලබා ගන්න
48tokens=batch\_encoding["input\_ids"].to(self.device)
ක්ලිප් කාවැද්දීම් ලබා ගන්න
50returnself.transformer(input\_ids=tokens).last\_hidden\_state