lisonallen commited on
Commit
8718399
·
1 Parent(s): 1ca21ac

Fix caching and index errors

Browse files
Files changed (1) hide show
  1. app.py +24 -9
app.py CHANGED
@@ -3,6 +3,7 @@ import numpy as np
3
  import random
4
  import logging
5
  import sys
 
6
 
7
  # 设置日志记录
8
  logging.basicConfig(level=logging.INFO,
@@ -10,6 +11,9 @@ logging.basicConfig(level=logging.INFO,
10
  stream=sys.stdout)
11
  logger = logging.getLogger(__name__)
12
 
 
 
 
13
  # 修复 Gradio JSON Schema 错误
14
  try:
15
  import gradio_client.utils
@@ -87,12 +91,17 @@ def generate_image(prompt):
87
  seed = random.randint(0, MAX_SEED)
88
  generator = torch.Generator().manual_seed(seed)
89
 
90
- image = pipe(
91
- prompt=prompt,
92
- guidance_scale=0.0,
93
- num_inference_steps=2,
94
- generator=generator
95
- ).images[0]
 
 
 
 
 
96
 
97
  logger.info("Image generation successful")
98
  return image
@@ -100,20 +109,26 @@ def generate_image(prompt):
100
  logger.error(f"Error generating image: {str(e)}")
101
  return None
102
 
103
- # 创建简单的 Gradio 界面
104
  demo = gr.Interface(
105
  fn=generate_image,
106
  inputs=gr.Textbox(label="Enter your prompt"),
107
  outputs=gr.Image(label="Generated Image"),
108
  title="SDXL Turbo Text-to-Image",
109
  description="Enter a text prompt to generate an image.",
110
- examples=["A cute cat", "Sunset over mountains", "Astronaut in space"]
 
111
  )
112
 
113
  # 启动应用
114
  if __name__ == "__main__":
115
  try:
116
  logger.info("Starting Gradio app")
117
- demo.launch()
 
 
 
 
 
118
  except Exception as e:
119
  logger.error(f"Error launching app: {str(e)}")
 
3
  import random
4
  import logging
5
  import sys
6
+ import os
7
 
8
  # 设置日志记录
9
  logging.basicConfig(level=logging.INFO,
 
11
  stream=sys.stdout)
12
  logger = logging.getLogger(__name__)
13
 
14
+ # 确保缓存目录存在
15
+ os.makedirs(".gradio/cached_examples", exist_ok=True)
16
+
17
  # 修复 Gradio JSON Schema 错误
18
  try:
19
  import gradio_client.utils
 
91
  seed = random.randint(0, MAX_SEED)
92
  generator = torch.Generator().manual_seed(seed)
93
 
94
+ # 添加异常处理,防止数组索引越界
95
+ try:
96
+ image = pipe(
97
+ prompt=prompt,
98
+ guidance_scale=0.0,
99
+ num_inference_steps=2,
100
+ generator=generator
101
+ ).images[0]
102
+ except IndexError as e:
103
+ logger.error(f"Index error in pipe: {str(e)}")
104
+ return None
105
 
106
  logger.info("Image generation successful")
107
  return image
 
109
  logger.error(f"Error generating image: {str(e)}")
110
  return None
111
 
112
+ # 创建简单的 Gradio 界面,禁用示例缓存
113
  demo = gr.Interface(
114
  fn=generate_image,
115
  inputs=gr.Textbox(label="Enter your prompt"),
116
  outputs=gr.Image(label="Generated Image"),
117
  title="SDXL Turbo Text-to-Image",
118
  description="Enter a text prompt to generate an image.",
119
+ examples=["A cute cat", "Sunset over mountains"], # 减少示例数量
120
+ cache_examples=False # 禁用示例缓存以避免文件访问错误
121
  )
122
 
123
  # 启动应用
124
  if __name__ == "__main__":
125
  try:
126
  logger.info("Starting Gradio app")
127
+ # 添加更多启动选项,以提高稳定性
128
+ demo.launch(
129
+ show_error=True,
130
+ max_threads=1, # 降低并发以避免竞态条件
131
+ share=False
132
+ )
133
  except Exception as e:
134
  logger.error(f"Error launching app: {str(e)}")