Spaces:
Runtime error
Runtime error
LanHarmony
commited on
Commit
•
1dc205a
1
Parent(s):
1e59525
update text2image
Browse files- visual_foundation_models.py +11 -10
visual_foundation_models.py
CHANGED
@@ -137,26 +137,27 @@ class InstructPix2Pix:
|
|
137 |
|
138 |
class Text2Image:
|
139 |
def __init__(self, device):
|
140 |
-
print("Initializing Text2Image to
|
141 |
self.device = device
|
142 |
-
self.
|
143 |
-
self.
|
144 |
-
|
145 |
-
self.text_refine_gpt2_pipe = pipeline("text-generation", model=self.text_refine_model,
|
146 |
-
tokenizer=self.text_refine_tokenizer, device=self.device)
|
147 |
self.pipe.to(device)
|
|
|
|
|
|
|
148 |
|
149 |
@prompts(name="Generate Image From User Input Text",
|
150 |
description="useful when you want to generate an image from a user input text and save it to a file. "
|
151 |
"like: generate an image of an object or something, or generate an image that includes some objects. "
|
152 |
"The input to this tool should be a string, representing the text used to generate image. ")
|
153 |
def inference(self, text):
|
154 |
-
image_filename = os.path.join('image', str(uuid.uuid4())[
|
155 |
-
|
156 |
-
image = self.pipe(
|
157 |
image.save(image_filename)
|
158 |
print(
|
159 |
-
f"\nProcessed Text2Image, Input Text: {text},
|
160 |
return image_filename
|
161 |
|
162 |
|
|
|
137 |
|
138 |
class Text2Image:
|
139 |
def __init__(self, device):
|
140 |
+
print(f"Initializing Text2Image to {device}")
|
141 |
self.device = device
|
142 |
+
self.torch_dtype = torch.float16 if 'cuda' in device else torch.float32
|
143 |
+
self.pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5",
|
144 |
+
torch_dtype=self.torch_dtype)
|
|
|
|
|
145 |
self.pipe.to(device)
|
146 |
+
self.a_prompt = 'best quality, extremely detailed'
|
147 |
+
self.n_prompt = 'longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, ' \
|
148 |
+
'fewer digits, cropped, worst quality, low quality'
|
149 |
|
150 |
@prompts(name="Generate Image From User Input Text",
|
151 |
description="useful when you want to generate an image from a user input text and save it to a file. "
|
152 |
"like: generate an image of an object or something, or generate an image that includes some objects. "
|
153 |
"The input to this tool should be a string, representing the text used to generate image. ")
|
154 |
def inference(self, text):
|
155 |
+
image_filename = os.path.join('image', f"{str(uuid.uuid4())[:8]}.png")
|
156 |
+
prompt = text + ', ' + self.a_prompt
|
157 |
+
image = self.pipe(prompt, negative_prompt=self.n_prompt).images[0]
|
158 |
image.save(image_filename)
|
159 |
print(
|
160 |
+
f"\nProcessed Text2Image, Input Text: {text}, Output Image: {image_filename}")
|
161 |
return image_filename
|
162 |
|
163 |
|