RanM commited on
Commit
8551936
·
verified ·
1 Parent(s): eba19d8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -4
app.py CHANGED
@@ -8,10 +8,10 @@ import gradio as gr
8
  # Load the model once outside of the function
9
  model = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo")
10
 
11
- async def generate_image(prompt, prompt_name):
12
  try:
13
  print(f"Generating response for {prompt_name}")
14
- output = await model(prompt=prompt, num_inference_steps=1, guidance_scale=0.0)
15
 
16
  # Check if the model returned images
17
  if isinstance(output.images, list) and len(output.images) > 0:
@@ -39,12 +39,13 @@ async def queue_api_calls(sentence_mapping, character_dict, selected_style):
39
  for paragraph_number, sentences in sentence_mapping.items():
40
  combined_sentence = " ".join(sentences)
41
  print(f'combined_sentence: {combined_sentence}, character_dict: {character_dict}, selected_style: {selected_style}')
42
- prompt = generate_prompt(combined_sentence, sentence_mapping, character_dict, selected_style)
43
  prompts.append((paragraph_number, prompt))
44
  print(f"Generated prompt for paragraph {paragraph_number}: {prompt}")
45
 
46
  # Generate images for each prompt in parallel
47
- tasks = [generate_image(prompt, f"Prompt {paragraph_number}") for paragraph_number, prompt in prompts]
 
48
  responses = await asyncio.gather(*tasks)
49
 
50
  images = {paragraph_number: response for (paragraph_number, _), response in zip(prompts, responses)}
 
8
  # Load the model once outside of the function
9
  model = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo")
10
 
11
+ def generate_image(prompt, prompt_name):
12
  try:
13
  print(f"Generating response for {prompt_name}")
14
+ output = model(prompt=prompt, num_inference_steps=1, guidance_scale=0.0)
15
 
16
  # Check if the model returned images
17
  if isinstance(output.images, list) and len(output.images) > 0:
 
39
  for paragraph_number, sentences in sentence_mapping.items():
40
  combined_sentence = " ".join(sentences)
41
  print(f'combined_sentence: {combined_sentence}, character_dict: {character_dict}, selected_style: {selected_style}')
42
+ prompt = generate_prompt(combined_sentence, character_dict, selected_style)
43
  prompts.append((paragraph_number, prompt))
44
  print(f"Generated prompt for paragraph {paragraph_number}: {prompt}")
45
 
46
  # Generate images for each prompt in parallel
47
+ loop = asyncio.get_running_loop()
48
+ tasks = [loop.run_in_executor(None, generate_image, prompt, f"Prompt {paragraph_number}") for paragraph_number, prompt in prompts]
49
  responses = await asyncio.gather(*tasks)
50
 
51
  images = {paragraph_number: response for (paragraph_number, _), response in zip(prompts, responses)}