Spaces:
Runtime error
Runtime error
import numpy as np | |
import onnxruntime | |
from huggingface_hub import hf_hub_download | |
from PIL import Image | |
def upscale_edsr_2x(image_path: str): | |
input_image = Image.open(image_path).convert("RGB") | |
input_image = np.array(input_image).astype("float32") | |
input_image = np.transpose(input_image, (2, 0, 1)) | |
img_arr = np.expand_dims(input_image, axis=0) | |
if np.max(img_arr) > 256: # 16-bit image | |
max_range = 65535 | |
else: | |
max_range = 255.0 | |
img = img_arr / max_range | |
model_path = hf_hub_download( | |
repo_id="rupeshs/edsr-onnx", | |
filename="edsr_onnxsim_2x.onnx", | |
) | |
sess = onnxruntime.InferenceSession(model_path) | |
input_name = sess.get_inputs()[0].name | |
output_name = sess.get_outputs()[0].name | |
output = sess.run( | |
[output_name], | |
{input_name: img}, | |
)[0] | |
result = output.squeeze() | |
result = result.clip(0, 1) | |
image_array = np.transpose(result, (1, 2, 0)) | |
image_array = np.uint8(image_array * 255) | |
upscaled_image = Image.fromarray(image_array) | |
return upscaled_image | |