Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,43 +1,53 @@
|
|
1 |
import gradio as gr
|
2 |
import os
|
3 |
|
4 |
-
|
5 |
os.system("git clone https://github.com/megvii-research/NAFNet")
|
6 |
os.system("mv NAFNet/* ./")
|
7 |
os.system("mv *.pth experiments/pretrained_models/")
|
8 |
os.system("python3 setup.py develop --no_cuda_ext --user")
|
9 |
|
10 |
-
|
11 |
def inference(image, task):
|
12 |
if not os.path.exists('tmp'):
|
13 |
-
|
14 |
image.save("tmp/lq_image.png", "PNG")
|
15 |
|
16 |
if task == 'Denoising':
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
title = "NAFNet"
|
25 |
-
description = "Gradio demo for <b>NAFNet: Nonlinear Activation Free Network for Image Restoration</b>.
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
|
|
28 |
|
29 |
-
|
30 |
-
['demo/blurry.jpg', 'Deblurring']]
|
31 |
-
|
32 |
iface = gr.Interface(
|
33 |
-
inference,
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
37 |
title=title,
|
38 |
description=description,
|
39 |
article=article,
|
40 |
-
enable_queue=True,
|
41 |
examples=examples
|
42 |
-
|
43 |
-
|
|
|
|
|
|
1 |
import gradio as gr
|
2 |
import os
|
3 |
|
4 |
+
# Cloning and setting up the model
|
5 |
os.system("git clone https://github.com/megvii-research/NAFNet")
|
6 |
os.system("mv NAFNet/* ./")
|
7 |
os.system("mv *.pth experiments/pretrained_models/")
|
8 |
os.system("python3 setup.py develop --no_cuda_ext --user")
|
9 |
|
10 |
+
# Inference function
|
11 |
def inference(image, task):
|
12 |
if not os.path.exists('tmp'):
|
13 |
+
os.makedirs('tmp')
|
14 |
image.save("tmp/lq_image.png", "PNG")
|
15 |
|
16 |
if task == 'Denoising':
|
17 |
+
os.system("python basicsr/demo.py -opt options/test/SIDD/NAFNet-width64.yml --input_path ./tmp/lq_image.png --output_path ./tmp/image.png")
|
18 |
+
elif task == 'Deblurring':
|
19 |
+
os.system("python basicsr/demo.py -opt options/test/REDS/NAFNet-width64.yml --input_path ./tmp/lq_image.png --output_path ./tmp/image.png")
|
20 |
+
|
21 |
+
return "tmp/image.png"
|
22 |
+
|
23 |
+
# Title and description
|
24 |
title = "NAFNet"
|
25 |
+
description = """Gradio demo for <b>NAFNet: Nonlinear Activation Free Network for Image Restoration</b>.
|
26 |
+
NAFNet achieves state-of-the-art performance on three tasks: image denoising, image deblurring, and stereo image super-resolution (SR).
|
27 |
+
See the paper and project page for detailed results below. Here, we provide a demo for image denoise and deblur.
|
28 |
+
To use it, simply upload your image, or click one of the examples to load them. Inference needs some time since this demo uses CPU."""
|
29 |
+
|
30 |
+
article = """<p style='text-align: center'>
|
31 |
+
<a href='https://arxiv.org/abs/2204.04676' target='_blank'>Simple Baselines for Image Restoration</a> |
|
32 |
+
<a href='https://arxiv.org/abs/2204.08714' target='_blank'>NAFSSR: Stereo Image Super-Resolution Using NAFNet</a> |
|
33 |
+
<a href='https://github.com/megvii-research/NAFNet' target='_blank'>Github Repo</a>
|
34 |
+
</p>"""
|
35 |
|
36 |
+
examples = [['demo/noisy.png', 'Denoising'], ['demo/blurry.jpg', 'Deblurring']]
|
37 |
|
38 |
+
# Updated Gradio Interface
|
|
|
|
|
39 |
iface = gr.Interface(
|
40 |
+
fn=inference, # Updated function syntax
|
41 |
+
inputs=[
|
42 |
+
gr.Image(type="pil", label="Input Image"), # Replaced gr.inputs.Image
|
43 |
+
gr.Radio(["Denoising", "Deblurring"], value="Denoising", label="Task") # Replaced gr.inputs.Radio
|
44 |
+
],
|
45 |
+
outputs=gr.Image(type="file", label="Output Image"), # Replaced gr.outputs.Image
|
46 |
title=title,
|
47 |
description=description,
|
48 |
article=article,
|
|
|
49 |
examples=examples
|
50 |
+
)
|
51 |
+
|
52 |
+
# Launch interface
|
53 |
+
iface.launch(debug=True)
|