seawolf2357 commited on
Commit
ae7e646
·
verified ·
1 Parent(s): 87802da

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -2
app.py CHANGED
@@ -2,9 +2,18 @@ import torch
2
  import gradio as gr
3
  from diffusers import AnimateDiffPipeline, MotionAdapter, DPMSolverMultistepScheduler, AutoencoderKL, SparseControlNetModel, EulerAncestralDiscreteScheduler
4
  from diffusers.utils import export_to_gif, load_image
 
5
 
6
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
7
 
 
 
 
 
 
 
 
 
8
  def generate_video(prompt, negative_prompt, num_inference_steps, conditioning_frame_indices, controlnet_conditioning_scale):
9
  motion_adapter = MotionAdapter.from_pretrained("guoyww/animatediff-motion-adapter-v1-5-3", torch_dtype=torch.float16).to(device)
10
  controlnet = SparseControlNetModel.from_pretrained("guoyww/animatediff-sparsectrl-scribble", torch_dtype=torch.float16).to(device)
@@ -41,7 +50,8 @@ def generate_video(prompt, negative_prompt, num_inference_steps, conditioning_fr
41
  ).frames[0]
42
 
43
  export_to_gif(video, "output.gif")
44
- return "output.gif"
 
45
 
46
  def generate_simple_video(prompt):
47
  adapter = MotionAdapter.from_pretrained("guoyww/animatediff-motion-adapter-v1-5-2", torch_dtype=torch.float16).to(device)
@@ -65,7 +75,8 @@ def generate_simple_video(prompt):
65
  ).frames[0]
66
 
67
  export_to_gif(frames, "simple_output.gif")
68
- return "simple_output.gif"
 
69
 
70
  demo1 = gr.Interface(
71
  fn=generate_video,
@@ -91,5 +102,6 @@ demo2 = gr.Interface(
91
 
92
  demo = gr.TabbedInterface([demo1, demo2], ["Advanced Video Generation", "Simple Video Generation"])
93
 
 
94
  demo.launch()
95
  #demo.launch(server_name="0.0.0.0", server_port=7910)
 
2
  import gradio as gr
3
  from diffusers import AnimateDiffPipeline, MotionAdapter, DPMSolverMultistepScheduler, AutoencoderKL, SparseControlNetModel, EulerAncestralDiscreteScheduler
4
  from diffusers.utils import export_to_gif, load_image
5
+ from realesrgan import RealESRGAN
6
 
7
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
8
 
9
+ def enhance_quality(image_path):
10
+ model = RealESRGAN(device, scale=4)
11
+ model.load_weights('RealESRGAN_x4.pth', download=True)
12
+ img = Image.open(image_path)
13
+ sr_image = model.predict(img)
14
+ sr_image.save('enhanced_' + image_path)
15
+ return 'enhanced_' + image_path
16
+
17
  def generate_video(prompt, negative_prompt, num_inference_steps, conditioning_frame_indices, controlnet_conditioning_scale):
18
  motion_adapter = MotionAdapter.from_pretrained("guoyww/animatediff-motion-adapter-v1-5-3", torch_dtype=torch.float16).to(device)
19
  controlnet = SparseControlNetModel.from_pretrained("guoyww/animatediff-sparsectrl-scribble", torch_dtype=torch.float16).to(device)
 
50
  ).frames[0]
51
 
52
  export_to_gif(video, "output.gif")
53
+ enhanced_gif = enhance_quality("output.gif")
54
+ return enhanced_gif
55
 
56
  def generate_simple_video(prompt):
57
  adapter = MotionAdapter.from_pretrained("guoyww/animatediff-motion-adapter-v1-5-2", torch_dtype=torch.float16).to(device)
 
75
  ).frames[0]
76
 
77
  export_to_gif(frames, "simple_output.gif")
78
+ enhanced_gif = enhance_quality("simple_output.gif")
79
+ return enhanced_gif
80
 
81
  demo1 = gr.Interface(
82
  fn=generate_video,
 
102
 
103
  demo = gr.TabbedInterface([demo1, demo2], ["Advanced Video Generation", "Simple Video Generation"])
104
 
105
+
106
  demo.launch()
107
  #demo.launch(server_name="0.0.0.0", server_port=7910)