Spaces:
Running
Running
File size: 2,808 Bytes
e40c95c 7aacbb3 4db9c56 7aacbb3 e40c95c 4db9c56 e40c95c 4db9c56 273d6eb 24f9520 2683afa 4db9c56 e40c95c 7aacbb3 e40c95c 7aacbb3 f1d72e1 7aacbb3 f1d72e1 4db9c56 4a4d2f6 e40c95c 7aacbb3 78eae8c cf58652 78eae8c e40c95c 6f8da6d e40c95c 6f8da6d e40c95c 78eae8c 6f8da6d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
import os
import random
import gradio as gr
from PIL import Image
import torch
from random import randint
import sys
import psutil
import subprocess
import sys
def run_cmd(command):
try:
print(f"Running command: {command}")
# Run the command and capture both output and error
result = subprocess.run(command, shell=True, text=True, capture_output=True)
# Print stdout and stderr
if result.stdout:
print("Output:\n", result.stdout)
if result.stderr:
print("Error:\n", result.stderr)
# Check for command success
if result.returncode != 0:
print(f"Command failed with return code {result.returncode}")
except KeyboardInterrupt:
print("Process interrupted")
sys.exit(1)
run_cmd("wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P .")
run_cmd("pip install basicsr")
run_cmd("pip freeze")
run_cmd("wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P .")
def inference(img,mode):
_id = randint(1, 10000)
INPUT_DIR = "./tmp/input_image" + str(_id) + "/"
OUTPUT_DIR = "./tmp/output_image" + str(_id) + "/"
run_cmd("rm -rf " + INPUT_DIR)
run_cmd("rm -rf " + OUTPUT_DIR)
run_cmd("mkdir -p " + INPUT_DIR)
run_cmd("mkdir -p " + OUTPUT_DIR)
basewidth = 256
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
#img = img.resize((basewidth,hsize), Image.LANCZOS)
img.save(INPUT_DIR + "1.png", "PNG")
if mode == "base":
run_cmd("python inference_realesrgan.py -n RealESRGAN_x4plus -i "+ INPUT_DIR + " -o " + OUTPUT_DIR)
else:
run_cmd("python inference_realesrgan.py -n RealESRGAN_x4plus_anime_6B -i "+ INPUT_DIR + " -o " + OUTPUT_DIR)
return os.path.join(OUTPUT_DIR, "1_out.png")
title = "Real-ESRGAN"
description = "Gradio demo for Real-ESRGAN. To use it, simply upload your image, or click one of the examples to load them. Read more at the links below. Please click submit only once"
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2107.10833'>Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data</a> | <a href='https://github.com/xinntao/Real-ESRGAN'>Github Repo</a></p>"
# Updated Gradio Interface
gr.Interface(
fn=inference,
inputs=[
gr.Image(type="pil", label="Input"),
gr.Radio(choices=["base", "anime"], label="Model Type", value="base")
],
outputs=gr.Image(type="filepath", label="Output"),
title=title,
description=description,
article=article,
examples=[
# ['bear.jpg', 'base'],
# ['anime.png', 'anime']
]
).launch() |