mochifz commited on
Commit
82166ab
1 Parent(s): 6763cf2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -37
app.py CHANGED
@@ -11,8 +11,8 @@ translations = {
11
  'negative_prompt': 'Negative Prompt',
12
  'generate': 'Generate',
13
  'strength': 'Strength',
14
- 'guidance_scale': 'Guidance Scale',
15
- 'num_inference_steps': 'Number of Inference Steps',
16
  'width': 'Width',
17
  'height': 'Height',
18
  'seed': 'Seed',
@@ -25,11 +25,11 @@ translations = {
25
  'negative_prompt': '负面提示',
26
  'generate': '生成',
27
  'strength': '强度',
28
- 'guidance_scale': '指导尺度',
29
- 'num_inference_steps': '推理步数',
30
  'width': '宽度',
31
  'height': '高度',
32
- 'seed': '种子',
33
  }
34
  }
35
  language='zh'
@@ -37,15 +37,15 @@ def generate_new_seed():
37
  return random.randint(1, 2147483647)
38
  def update_language(new_language):
39
  return [
40
- gr.Textbox.update(placeholder=translations[new_language]['model_name']),
41
  gr.Button.update(value=translations[new_language]['loading']),
42
  gr.Image.update(label=translations[new_language]['input']),
43
- gr.Textbox.update(placeholder=translations[new_language]['prompt']),
44
- gr.Textbox.update(placeholder=translations[new_language]['negative_prompt']),
45
  gr.Button.update(value=translations[new_language]['generate']),
46
  gr.Slider.update(label=translations[new_language]['strength']),
47
- gr.Slider.update(label=translations[new_language]['guidance_scale']),
48
- gr.Slider.update(label=translations[new_language]['num_inference_steps']),
49
  gr.Slider.update(label=translations[new_language]['width']),
50
  gr.Slider.update(label=translations[new_language]['height']),
51
  gr.Number.update(label=translations[new_language]['seed'])
@@ -53,18 +53,18 @@ def update_language(new_language):
53
 
54
  text2img = None
55
  img2img = None
56
- def Generate(image_input, prompt, negative_prompt, strength, guidance_scale, num_inference_steps, width, height, seed):
57
  global text2img, img2img
58
  if seed == -1:
59
  seed = generate_new_seed()
60
  generator = torch.Generator().manual_seed(int(seed))
61
  start_time = time.time()
62
  if image_input is None:
63
- image = text2img(prompt=prompt, negative_prompt=negative_prompt, guidance_scale=guidance_scale, num_inference_steps=num_inference_steps, width=width, height=height, num_images_per_prompt=1, generator=generator).images[0]
64
  else:
65
- image = img2img(image=image_input, strength=0.75, prompt=prompt, negative_prompt=negative_prompt, guidance_scale=guidance_scale, num_inference_steps=num_inference_steps, width=width, height=height, num_images_per_prompt=1, generator=generator).images[0]
66
  minutes, seconds = divmod(round(time.time() - start_time), 60)
67
- return image, f"{minutes:02d}:{seconds:02d}"
68
  def Loading(model_name, is_xl, is_cuda):
69
  global text2img, img2img
70
  if is_xl == False:
@@ -83,34 +83,34 @@ def Loading(model_name, is_xl, is_cuda):
83
  return model_name
84
  with gr.Blocks() as demo:
85
  with gr.Row():
86
- model_name = gr.Textbox(value="John6666/pony-realism-v21main-sdxl", label=translations[language]['model_name'])
87
- is_xl = gr.Checkbox(label="SDXL")
88
- is_cuda = gr.Checkbox(label="cuda", value=torch.cuda.is_available())
89
- loading = gr.Button(translations[language]['loading'])
 
90
  set_language = gr.Dropdown(list(translations.keys()), label="Language", value=language)
91
  with gr.Row():
92
- with gr.Column():
93
- with gr.Row():
94
  image_input = gr.Image(label=translations[language]['input'])
95
- with gr.Column():
96
- prompt = gr.Textbox("space warrior, beautiful, female, ultrarealistic, soft lighting, 8k", placeholder=translations[language]['prompt'], show_label=False, lines=3)
97
- negative_prompt = gr.Textbox("deformed, distorted, disfigured, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, mutated hands and fingers, disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation,lowres,jpeg artifacts,username,logo,signature,watermark,monochrome,greyscale", placeholder=translations[language]['negative_prompt'], show_label=False, lines=3)
98
- generate = gr.Button(translations[language]['generate'])
99
  with gr.Row():
100
- with gr.Column():
101
- strength = gr.Slider(minimum=0, maximum=1, value=0.8, step=0.01, label=translations[language]['strength'])
102
- guidance_scale = gr.Slider(minimum=1, maximum=15, value=7.5, step=0.5, label=translations[language]['guidance_scale'])
103
- num_inference_steps = gr.Slider(minimum=1, maximum=100, value=50, step=1, label=translations[language]['num_inference_steps'])
104
- width = gr.Slider(minimum=512, maximum=2048, value=512, step=8, label=translations[language]['width'])
105
- height = gr.Slider(minimum=512, maximum=2048, value=512, step=8, label=translations[language]['height'])
106
- with gr.Row():
107
- seed = gr.Number(value=-1, label=translations[language]['seed'])
108
- set_seed = gr.Button("🎲")
109
- with gr.Column():
110
  image_output = gr.Image()
111
- text_output = gr.Textbox(label="time")
 
112
  set_seed.click(generate_new_seed, None, seed)
113
- generate.click(Generate, [image_input, prompt, negative_prompt, strength, guidance_scale, num_inference_steps, width, height, seed], [image_output, text_output])
114
  loading.click(Loading, [model_name, is_xl, is_cuda], model_name)
115
- set_language.change(update_language, set_language, [model_name, loading, image_input, prompt, negative_prompt, generate, strength, guidance_scale, num_inference_steps, width, height, seed])
116
  demo.queue().launch()
 
11
  'negative_prompt': 'Negative Prompt',
12
  'generate': 'Generate',
13
  'strength': 'Strength',
14
+ 'scale': 'Guidance Scale',
15
+ 'steps': 'Number of Inference Steps',
16
  'width': 'Width',
17
  'height': 'Height',
18
  'seed': 'Seed',
 
25
  'negative_prompt': '负面提示',
26
  'generate': '生成',
27
  'strength': '强度',
28
+ 'scale': '引导系数',
29
+ 'steps': '迭代步数',
30
  'width': '宽度',
31
  'height': '高度',
32
+ 'seed': '机数种子',
33
  }
34
  }
35
  language='zh'
 
37
  return random.randint(1, 2147483647)
38
  def update_language(new_language):
39
  return [
40
+ gr.Textbox.update(label=translations[new_language]['model_name']),
41
  gr.Button.update(value=translations[new_language]['loading']),
42
  gr.Image.update(label=translations[new_language]['input']),
43
+ gr.Textbox.update(label=translations[new_language]['prompt']),
44
+ gr.Textbox.update(label=translations[new_language]['negative_prompt']),
45
  gr.Button.update(value=translations[new_language]['generate']),
46
  gr.Slider.update(label=translations[new_language]['strength']),
47
+ gr.Slider.update(label=translations[new_language]['scale']),
48
+ gr.Slider.update(label=translations[new_language]['steps']),
49
  gr.Slider.update(label=translations[new_language]['width']),
50
  gr.Slider.update(label=translations[new_language]['height']),
51
  gr.Number.update(label=translations[new_language]['seed'])
 
53
 
54
  text2img = None
55
  img2img = None
56
+ def Generate(image_input, prompt, negative_prompt, strength, scale, steps, width, height, seed):
57
  global text2img, img2img
58
  if seed == -1:
59
  seed = generate_new_seed()
60
  generator = torch.Generator().manual_seed(int(seed))
61
  start_time = time.time()
62
  if image_input is None:
63
+ image = text2img(prompt=prompt, negative_prompt=negative_prompt, guidance_scale=scale, num_inference_steps=steps, width=width, height=height, num_images_per_prompt=1, generator=generator).images[0]
64
  else:
65
+ image = img2img(image=image_input, strength=0.75, prompt=prompt, negative_prompt=negative_prompt, guidance_scale=scale, num_inference_steps=steps, width=width, height=height, num_images_per_prompt=1, generator=generator).images[0]
66
  minutes, seconds = divmod(round(time.time() - start_time), 60)
67
+ return image, f"seed:{seed}\ntime:{minutes:02d}:{seconds:02d}"
68
  def Loading(model_name, is_xl, is_cuda):
69
  global text2img, img2img
70
  if is_xl == False:
 
83
  return model_name
84
  with gr.Blocks() as demo:
85
  with gr.Row():
86
+ model_name = gr.Textbox(value="nota-ai/bk-sdm-tiny-2m", label=translations[language]['model_name'])
87
+ with gr.Column():
88
+ is_xl = gr.Checkbox(label="SDXL")
89
+ is_cuda = gr.Checkbox(label="cuda", value=torch.cuda.is_available())
90
+ loading = gr.Button(translations[language]['loading'], variant='primary')
91
  set_language = gr.Dropdown(list(translations.keys()), label="Language", value=language)
92
  with gr.Row():
93
+ with gr.Column(scale=2):
94
+ with gr.Column():
95
  image_input = gr.Image(label=translations[language]['input'])
96
+ strength = gr.Slider(minimum=0, maximum=1, value=0.8, step=0.01, label=translations[language]['strength'])
97
+ prompt = gr.Textbox("space warrior, beautiful, female, ultrarealistic, soft lighting, 8k", label=translations[language]['prompt'], lines=3)
98
+ negative_prompt = gr.Textbox("deformed, distorted, disfigured, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, mutated hands and fingers, disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation,lowres,jpeg artifacts,username,logo,signature,watermark,monochrome,greyscale", label=translations[language]['negative_prompt'], lines=3)
 
99
  with gr.Row():
100
+ width = gr.Slider(minimum=512, maximum=2048, value=512, step=8, label=translations[language]['width'])
101
+ height = gr.Slider(minimum=512, maximum=2048, value=512, step=8, label=translations[language]['height'])
102
+ with gr.Row():
103
+ scale = gr.Slider(minimum=1, maximum=15, value=7.5, step=0.5, label=translations[language]['scale'])
104
+ steps = gr.Slider(minimum=1, maximum=100, value=50, step=1, label=translations[language]['steps'])
105
+ with gr.Row():
106
+ seed = gr.Slider(minimum=-1, step=1, maximum=2147483647, value=-1, label=translations[language]['seed'])
107
+ set_seed = gr.Button("🎲")
108
+ with gr.Column(scale=3):
 
109
  image_output = gr.Image()
110
+ text_output = gr.Textbox()
111
+ generate = gr.Button(translations[language]['generate'], variant='primary')
112
  set_seed.click(generate_new_seed, None, seed)
113
+ generate.click(Generate, [image_input, prompt, negative_prompt, strength, scale, steps, width, height, seed], [image_output, text_output])
114
  loading.click(Loading, [model_name, is_xl, is_cuda], model_name)
115
+ set_language.change(update_language, set_language, [model_name, loading, image_input, prompt, negative_prompt, generate, strength, scale, steps, width, height, seed])
116
  demo.queue().launch()