mkthoma commited on
Commit
fc2ebf8
·
1 Parent(s): 0fce598

code update

Browse files
Files changed (1) hide show
  1. app.py +36 -42
app.py CHANGED
@@ -42,11 +42,13 @@ style_files = ['stable_diffusion/learned_embeddings/arcane-style-jv.bin', 'stabl
42
  'stable_diffusion/learned_embeddings/dr-strange.bin', 'stable_diffusion/learned_embeddings/midjourney-style.bin',
43
  'stable_diffusion/learned_embeddings/oil_style.bin']
44
 
 
 
45
 
46
  seed_values = [8,16,50,80,128]
47
  height = 512 # default height of Stable Diffusion
48
  width = 512 # default width of Stable Diffusion
49
- num_inference_steps = 1 # Number of denoising steps
50
  guidance_scale = 7.5 # Scale for classifier-free guidance
51
  num_styles = len(style_files)
52
 
@@ -80,7 +82,6 @@ def get_output_embeds(input_embeddings):
80
  # And now they're ready!
81
  return output
82
 
83
-
84
  def get_style_embeddings(style_file):
85
  style_embed = torch.load(style_file)
86
  style_name = list(style_embed.keys())[0]
@@ -247,55 +248,48 @@ def display_images_in_rows(images_with_titles, titles):
247
  axes[r, c].axis('off')
248
 
249
  return fig
 
 
250
 
251
  def image_generator(prompt = "dog", loss_function=None):
252
-
253
- if loss_function == "Yes":
254
- loss_function = vibrance_loss
255
- else:
256
- loss_function = None
257
-
258
- images_without_loss = []
259
- images_with_loss = []
260
-
261
- seed_values = [8,16,50,80,128]
262
- height = 512 # default height of Stable Diffusion
263
- width = 512 # default width of Stable Diffusion
264
- num_inference_steps = 1 # Number of denoising steps
265
- guidance_scale = 7.5 # Scale for classifier-free guidance
266
- num_styles = len(style_files)
267
-
268
- for i in range(num_styles):
269
- this_generated_img_1 = generate_images(prompt,style_num = i,random_seed = seed_values[i],custom_loss_fn = None)
270
- images_without_loss.append(this_generated_img_1)
271
  if loss_function:
272
- this_generated_img_2 = generate_images(prompt,style_num = i,random_seed = seed_values[i],custom_loss_fn = loss_function)
273
- images_with_loss.append(this_generated_img_2)
274
-
275
- generated_sd_images = []
276
- titles = ["Arcane Style", "Birb Style", "Dr Strange Style", "Midjourney Style", "Oil Style"]
277
-
278
- for i in range(len(titles)):
279
- generated_sd_images.append((images_without_loss[i], titles[i]))
280
- if images_with_loss != []:
281
- generated_sd_images.append((images_with_loss[i], titles[i]))
282
-
283
- return display_images_in_rows(generated_sd_images, titles)
284
 
 
285
 
286
  # Create a wrapper function for show_misclassified_images()
287
  def image_generator_wrapper(prompt = "dog", loss_function=None):
288
- if loss_function == "Yes":
289
- loss_function = vibrance_loss
290
- else:
291
- loss_function = None
292
 
293
- return image_generator(prompt, loss_function)
294
 
295
- description = "Generate an image with a prompt and apply loss if you wish to"
296
 
297
  demo = gr.Interface(image_generator,
298
- inputs=[gr.Textbox(label="Enter prompt for generating", type="text", value="dog sitting on a bench"),
299
  gr.Radio(["Yes", "No"], value="No" , label="Apply vibrance loss")],
300
- outputs=gr.Plot(label="Outputs"), title = "Stable Diffusion", description=description)
301
- demo.launch()
 
42
  'stable_diffusion/learned_embeddings/dr-strange.bin', 'stable_diffusion/learned_embeddings/midjourney-style.bin',
43
  'stable_diffusion/learned_embeddings/oil_style.bin']
44
 
45
+ images_without_loss = []
46
+ images_with_loss = []
47
 
48
  seed_values = [8,16,50,80,128]
49
  height = 512 # default height of Stable Diffusion
50
  width = 512 # default width of Stable Diffusion
51
+ num_inference_steps = 10 # Number of denoising steps
52
  guidance_scale = 7.5 # Scale for classifier-free guidance
53
  num_styles = len(style_files)
54
 
 
82
  # And now they're ready!
83
  return output
84
 
 
85
  def get_style_embeddings(style_file):
86
  style_embed = torch.load(style_file)
87
  style_name = list(style_embed.keys())[0]
 
248
  axes[r, c].axis('off')
249
 
250
  return fig
251
+ # plt.show()
252
+
253
 
254
  def image_generator(prompt = "dog", loss_function=None):
255
+ images_without_loss = []
256
+ images_with_loss = []
257
+ if loss_function == "Yes":
258
+ loss_function = vibrance_loss
259
+ else:
260
+ loss_function = None
261
+
262
+ for i in range(num_styles):
263
+ generated_img = generate_images(prompt,style_num = i,random_seed = seed_values[i],custom_loss_fn = None)
264
+ images_without_loss.append(generated_img)
 
 
 
 
 
 
 
 
 
265
  if loss_function:
266
+ generated_img = generate_images(prompt,style_num = i,random_seed = seed_values[i],custom_loss_fn = loss_function)
267
+ images_with_loss.append(generated_img)
268
+
269
+ generated_sd_images = []
270
+ titles = ["Arcane Style", "Birb Style", "Dr Strange Style", "Midjourney Style", "Oil Style"]
271
+
272
+ for i in range(len(titles)):
273
+ generated_sd_images.append((images_without_loss[i], titles[i]))
274
+ if images_with_loss != []:
275
+ generated_sd_images.append((images_with_loss[i], titles[i]))
276
+
 
277
 
278
+ return display_images_in_rows(generated_sd_images, titles)
279
 
280
  # Create a wrapper function for show_misclassified_images()
281
  def image_generator_wrapper(prompt = "dog", loss_function=None):
282
+ if loss_function == "Yes":
283
+ loss_function = vibrance_loss
284
+ else:
285
+ loss_function = None
286
 
287
+ return image_generator(prompt, loss_function)
288
 
289
+ description = "Generate an image with a prompt and apply vibrance loss if you wish to"
290
 
291
  demo = gr.Interface(image_generator,
292
+ inputs=[gr.Textbox(label="Enter prompt for generation", type="text", value="dog sitting on a bench"),
293
  gr.Radio(["Yes", "No"], value="No" , label="Apply vibrance loss")],
294
+ outputs=gr.Plot(label="Generated Images"), title = "Stable Diffusion", description=description)
295
+ demo.launch()